Я получаю это предупреждение, отправляя приложение в магазин приложений через организатор.
Приложение ссылается на непубличные селектора в разделе "Полезная нагрузка /.app/: декодер"
Я знаю, что мы получаем это предупреждение, если мы используем какой-либо сторонний API в нашем приложении. Я использовал библиотеку SOCKETIO-ObjC для работы с чатом в приложении. Также используется facebook iOS sdk для реализации fb. Так что я не получаю точно, что вызывает это предупреждение.! Пожалуйста, найдите прилагаемый ScreenShot для лучшего понимания
Ответ 1
Вы можете получить это предупреждение только для использования селектора в своем собственном коде или стороннем коде, который имеет то же имя, что и селектор, который помечен как непубличный. Случается со мной все время. Никогда не отвергались.
Под "тем же именем" я имею в виду только что-то такое же простое, как у вас есть объект с этим селектором:
-(id) XYZKMyClass doSomethingFancy:(id) toThis
... и существует такой селектор для внутренней функциональности Apple
-(id) ApplesClass doSomethingFancy:(id) toSomething
Итак: Кажется, что они ищут подпись - (id) doSomethingFancy: (id). Вы можете увидеть, как очень легко случайно столкнуться с этим.
Предположительно, они выполняют более глубокую проверку в штабе полиции App Store и определяют, что помеченный селектор находится в вашем коде, и, следовательно, ОК.
Ответ 2
Это может помочь вам:
До:
#import "SocketIOJSONSerialization.h"
extern NSString * const SocketIOException;
// covers the methods in SBJson and JSONKit
@interface NSObject (SocketIOJSONSerialization)
// used by both JSONKit and SBJson
- (id) objectWithData:(NSData *)data;
// Use by JSONKit serialization
- (NSString *) JSONString;
**- (id) decoder;**
// Used by SBJsonWriter
- (NSString *) stringWithObject:(id)object;
@end
После того, как:
#import "SocketIOJSONSerialization.h"
extern NSString * const SocketIOException;
// covers the methods in SBJson and JSONKit
@interface NSObject (SocketIOJSONSerialization)
// used by both JSONKit and SBJson
- (id) objectWithData:(NSData *)data;
// Use by JSONKit serialization
- (NSString *) JSONString;
**- (id) jsonDecoder;**
// Used by SBJsonWriter
- (NSString *) stringWithObject:(id)object;
@end
Я получаю по этой ссылке: http://blog.csdn.net/erica_sadun/article/details/12188083
Ответ 3
Проверьте Целевое членство для всех классов, используемых в проекте. В некоторых случаях, когда вы создаете или копируете свою цель, предупреждение может появляться без ошибки связи.