アプリケーションローダーを使用してアプリを送信すると、この警告が表示されていました。
The app references non-public selector in MyApp : id
この警告により、AppleAppStoreの検証からアプリが拒否される可能性があります。
私のアプリはFacebookSDKiOS 3.1.1を使用しています(3.1でも試してみました)
アプリケーションローダーを使用してアプリを送信すると、この警告が表示されていました。
The app references non-public selector in MyApp : id
この警告により、AppleAppStoreの検証からアプリが拒否される可能性があります。
私のアプリはFacebookSDKiOS 3.1.1を使用しています(3.1でも試してみました)
この問題は、iOS用のFacebookSDKが原因で発生します。
アプリケーションローダーは、FBGraphUser関連のクラスからの変数「id」の使用を禁止します(おそらく他の変数もテストしませんでした)-例:
id<FBGraphUser> friend
id<FBGraphUserExtraFields>user
Facebookは、2013年1月の時点でこの問題について通知されています:バグレポート
現時点での回避策は、次のものを使用することです。
[user objectForKey:@"id"]
[friend objectForKey:@"id"]
代わりにuser.id
、friend.id
さまざまなFacebookサンプルに示されているように。
検索エンジンからここに来る人々のために更新するために、これは最新のFacebook SDKで修正されています(プロジェクトをライブラリバージョン3.7.1に移動し、検証の警告がなくなりました)。
これについての答えを探してここに来る新しい人のために。Facebook SDKの変更ログによると、この問題はv3.14.1で修正されているようです。
https://developers.facebook.com/docs/ios/change-log-3.x/
タイプ、、、およびのidプロパティはFBGraphObject
非推奨FBGraphPlace
に
なり、アプリストアの送信警告を回避できるようになりました。FBOpenGraphAction
FBOpenGraphObject
objectID
とのdescriptionプロパティは廃止され、アプリストアの送信警告を回避するためにそれぞれ
linkDescriptionとが使用されFBLinkShareParams
ます
。FBOpenGraphObject
objectDescription
Facebook iOS SDK3.12FBGraphUser.hの同じ問題。
変化する
@property (retain, nonatomic) NSString *id;
に
@property (retain, nonatomic) NSString *UserId;
ファイルFBGraphUser.h
変化する
@property(retain、nonatomic)NSString * id;
に
@property(retain、nonatomic)NSString * FbUserId;
Facebook iOSSDK3.13を使用します。検証の警告はありません。
Github(リンク)からFacebookSDKソースをダウンロードし、スクリプトディレクトリで「build_framework.sh」スクリプトを使用することで、この問題を解決しました(13.1でも警告が生成され、itunesconnectで無効なバイナリが生成されます) 。次に、生成されたフレームワークをXcodeプロジェクトに追加しましたが、警告は表示されませんでした。
検証の警告はv3.13にもあります。これが他の人に役立つかどうかはわかりませんが、彼はエラーを取り除くための迅速な回避策です。FBGraphUser.hの41行目あたりで変更しました...
@property (retain, nonatomic) NSString *id;
に
@property (retain, nonatomic) NSString *FBUserID;
setProfileIdについても同じ検証警告が表示されていたので、FBProfilePictureView.hに移動し、54行目と76行目のprofileIDをFBIDに変更しました。
次に、ゲームのViewControllerのFBLoginView情報を更新して、変更を反映しました。FBに関連するものはすべて私のアプリでまだ機能しているようで、アプリケーションローダーの検証に合格しました。