The app references non-public selector in id (Facebook SDK iOS)

Kalzem picture Kalzem · Jan 21, 2013 · Viewed 18.3k times · Source

I was having this warning when submitting my app with Application Loader.

The app references non-public selector in MyApp : id

This warning can potentially reject my app from Apple AppStore's validation.

My app is using Facebook SDK iOS 3.1.1 (also tried with 3.1)

Answer

Kalzem picture Kalzem · Jan 21, 2013

This problem happens because of the Facebook SDK for iOS.

Application Loader forbids the use of the variable "id" from any FBGraphUser related class (maybe others variables too, didn't test) - e.g. :

id<FBGraphUser> friend
id<FBGraphUserExtraFields>user

Facebook is informed about this problem as of january 2013 : Bug Report

The workaround for the moment is to use these:

[user objectForKey:@"id"]
[friend objectForKey:@"id"]

instead of user.id and friend.id as shown in the different Facebook samples.