Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

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)

like image 847
Kalzem Avatar asked Jan 21 '13 22:01

Kalzem


2 Answers

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.

like image 99
Kalzem Avatar answered Sep 21 '22 20:09

Kalzem


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

like image 41
Iain Barclay Avatar answered Sep 18 '22 20:09

Iain Barclay