Expand my Community achievements bar.

SOLVED

Non-public selectors as consume method

Avatar

Level 1

Hi ,

I am getting warning while uploading an app with Omniture SDK to Appstore and Please check warning as below

Non-public selectors as consume method


App references non-public selectors in payload/AppName:consume

Thanks in advance

Topics

Topics help categorize Community content and increase your ability to discover relevant content.

1 Accepted Solution

Avatar

Correct answer by
Level 5

Hi

 

Private APIs are used by the Adobe SDK, this warning is caused by a performSelector call inside the Adobe library on a delegate method (consume) from the MboxContentConsumerDelegate protocol. Target needs to be implemented to avoid this warning.

Two workarounds are as follows:

Upgrade to a 4.0+ version of the library. The 3.x versions of the library have this issue , the newer versions don't have this protocol (instead using gcd block callbacks).

Add a definition of the consume method inside your code. The following snippet  will convince the Apple preflight process that the referenced selector exists within your application's source code.

@interface NSObject (Consume)-(void)consume:(id)dummy;@end@implementation NSObject (Consume)-(void)consume:(id)dummy {}@end

 

Regards

Devinder

View solution in original post

1 Reply

Avatar

Correct answer by
Level 5

Hi

 

Private APIs are used by the Adobe SDK, this warning is caused by a performSelector call inside the Adobe library on a delegate method (consume) from the MboxContentConsumerDelegate protocol. Target needs to be implemented to avoid this warning.

Two workarounds are as follows:

Upgrade to a 4.0+ version of the library. The 3.x versions of the library have this issue , the newer versions don't have this protocol (instead using gcd block callbacks).

Add a definition of the consume method inside your code. The following snippet  will convince the Apple preflight process that the referenced selector exists within your application's source code.

@interface NSObject (Consume)-(void)consume:(id)dummy;@end@implementation NSObject (Consume)-(void)consume:(id)dummy {}@end

 

Regards

Devinder