Die App verweist auf nicht öffentliche Selektoren in Payload / .app / : Decoder

Ich erhalte diese Warnung, wenn ich die App über den Organizer an den App Store weitergebe.

Die App verweist auf nicht öffentliche Selektoren in Payload / .app /: decoder

Ich weiß, dass wir diese Warnung erhalten, wenn wir eine Drittanbieter-API in unserer Anwendung verwenden. Ich habe SOCKETIO-ObjC Bibliothek für Chat-functionalität in der Anwendung verwendet. Auch verwendet Facebook iOS SDK für fb-Implementierung.So bekomme ich nicht genau, was diese Warnung verursacht.! Anbei ScreenShot zum besseren Verständnis

Sie erhalten diese Warnung möglicherweise nur, wenn Sie einen Selektor in Ihrem eigenen Code oder in einem Code von Drittanbietern verwenden, der denselben Namen wie ein Selektor hat, der als nicht öffentlich markiert ist. Mir passiert die ganze Zeit. Nie wurde dafür abgelehnt.

Mit “gleicher Name” meine ich einfach etwas so einfaches wie ein Objekt mit diesem Selektor:

-(id) XYZKMyClass doSomethingFancy:(id) toThis 

… und es gibt einen Selektor wie diesen für eine interne Apple-functionalität

 -(id) ApplesClass doSomethingFancy:(id) toSomething 

Also: Was sie suchen, ist die Signatur – (id) doSomethingFancy: (id). Sie können sehen, wie leicht es ist, versehentlich dagegen anzukämpfen.

Vermutlich führen sie eine tiefere Überprüfung im App Store Police HQ durch und stellen fest, dass der markierte Selektor in Ihrem Code und damit in Ordnung ist.

Dies kann Ihnen helfen:

Vor:

 #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 

Nach:

 #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 

Ich bekomme in diesem Link: http://blog.csdn.net/erica_sadun/article/details/12188083

Überprüfen Sie Ihre Zielmitgliedschaft für alle classn, die im Projekt verwendet werden. Wenn Sie Ihr Ziel erstellen oder kopieren, wird die Warnung möglicherweise in einigen Fällen ohne Verbindungserrors angezeigt.