Your achievements

Level 1

0% to

Level 2

Tip /
Sign in

Sign in to Community

to gain points, level up, and earn exciting badges like the new
Bedrock Mission!

Learn more

View all

Sign in to view all badges

Adobe Summit is happening now. Discover what's next in customer experience.
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