Expand my Community achievements bar.

Join us on September 25th for a must-attend webinar featuring Adobe Experience Maker winner Anish Raul. Discover how leading enterprises are adopting AI into their workflows securely, responsibly, and at scale.

Mark Solution

This conversation has been locked due to inactivity. Please create a new post.

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