该应用程序在Payload / <Appname> .app / <应用程序名称>:解码器中引用非公共select器

通过组织者向App Store提交应用程序时,我收到了此警告。

应用程序引用Payload / .app /:decoder中的非公共select器

我知道如果我们在应用程序中使用任何第三方API,我们会得到这个警告。 我在应用程序中使用SOCKETIO-ObjC库进行聊天function。 也使用Facebook的iOS SDK的fb实现。所以我不明确是什么原因这个警告。 请find附加的ScreenShot更好的理解

您可能会收到此警告只是为了在您自己的代码中使用select器,或者是与某些标记为非公开的select器具有相同名称的第三方代码。 总是会发生在我身上。 从来没有被拒绝。

通过“同名”,我的意思就是像你用这个select器有一个对象一样简单:

-(id) XYZKMyClass doSomethingFancy:(id) toThis 

…有一个像这样的内部苹果functionselect器

 -(id) ApplesClass doSomethingFancy:(id) toSomething 

所以:他们看起来似乎是签名 – (id)doSomethingFancy:(id)。 你可以看到如何很容易意外碰到这一点。

据推测,他们在App Store警察总部进行了更深入的检查,并确定标记的select器在你的代码,因此确定。

这可以帮助你:

之前:

 #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

检查项目中使用的所有类的目标成员 。 在某些情况下,当您创build或复制您的目标时,警告可能会出现,但不会出现链接错