The app references non-public selectors in Payload/<Appname>.app/<App name>: decoder
You may get this warning just for using a selector in your own code or third party code that has the same name as some selector that is marked as non-public. Happens to me all the time. Never got rejected for it.
By "same name" i mean just something as simple as you having an object with this selector:
-(id) XYZKMyClass doSomethingFancy:(id) toThis
...and there being a selector like this for an internal Apple functionality
-(id) ApplesClass doSomethingFancy:(id) toSomething
So: What it seems they are looking for is the signature -(id) doSomethingFancy:(id). You can see how it's very easy to accidentally bump up against this.
Presumably they perform a deeper check at the App Store Police HQ, and determine that the flagged selector is in your code, and hence OK.
This can help you:
Before:
#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
After:
#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
I get in this link: http://blog.csdn.net/erica_sadun/article/details/12188083
Check your Target Membership for all classes used in project. In some cases when you create or copy your target the warning may appears without link error.