该应用程序引用Payload / <appname>中的非公共选择器.app / <app name =“”>:decoder </app> </appname>

时间:2013-10-15 10:09:23

标签: objective-c facebook-graph-api ios7 socket.io xcode5

我在通过组织者向Apps商店提交应用时收到此警告。

  

应用程序引用Payload / .app /:decoder

中的非公共选择器

我知道如果我们在应用程序中使用任何第三方API,我们会收到此警告。我在应用程序中使用了SOCKETIO-ObjC库来进行聊天功能。还使用facebook iOS sdk进行fb实现。所以我没有得到确切原因导致此警告。请找附件ScreenShot以便更好地理解

3 个答案:

答案 0 :(得分:114)

您可能会因为在您自己的代码中使用选择器或与标记为非公开的某个选择器具有相同名称的第三方代码而收到此警告。一直发生在我身上。从未被拒绝过。

“同名”我的意思就像你拥有这个选择器的对象一样简单:

-(id) XYZKMyClass doSomethingFancy:(id) toThis

...并且有一个这样的选择器用于内部Apple功能

-(id) ApplesClass  doSomethingFancy:(id) toSomething

所以:他们正在寻找的是签名 - (id)doSomethingFancy:(id)。你可以看到很容易意外碰到这个。

据推测,他们会在App Store Police HQ进行更深入的检查,并确定标记的选择器在您的代码中,因此确定。

答案 1 :(得分:4)

这可以帮到你:

<强>之前:

#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

答案 2 :(得分:0)

检查项目中使用的所有课程的目标会员资格。在某些情况下,当您创建或复制目标时,警告可能会显示,而不会出现链接错误。