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

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


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> friendid<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.


Just to update for people coming here from search engines, this is fixed in the latest Facebook SDK (have just moved our project to library version 3.7.1 and validation warnings went away).


For anyone new coming here looking for an answer on this. The problem seem to have been fixed in v3.14.1 according to Facebook SDK change log

https://developers.facebook.com/docs/ios/change-log-3.x/

  • The id property on the types FBGraphObject, FBGraphPlace,FBOpenGraphAction, and FBOpenGraphObject have been deprecated infavor of objectID to avoid app store submission warnings.

  • The description property of FBLinkShareParams and FBOpenGraphObject
    has been deprecated in favor of linkDescription and
    objectDescription, respectively, to avoid app store submission
    warnings.