web-dev-qa-db-ja.com

アプリはidの非パブリックセレクターを参照します(Facebook SDK iOS)

Application Loaderでアプリを送信するときにこの警告が表示されていました。

The app references non-public selector in MyApp : id

この警告は、Apple AppStoreの検証からアプリを拒否する可能性があります。

私のアプリはFacebook SDK iOS 3.1.1を使用しています(3.1でも試しました)

43
Kalzem

この問題は、iOS用のFacebook SDKが原因で発生します。

Application Loaderは、FBGraphUser関連クラスから変数「id」を使用することを禁止します(他の変数もテストせずに)。 :

id<FBGraphUser> friend
id<FBGraphUserExtraFields>user

Facebookは2013年1月現在、この問題について通知されています。 バグレポート

当面の回避策はこれらを使用することです:

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

の代わりに user.idおよびfriend.idさまざまなFacebookサンプルに示すとおり。

65
Kalzem

ここに検索エンジンから来る人のために更新するために、これは最新のFacebook SDKで修正されました(プロジェクトをライブラリバージョン3.7.1に移動し、検証警告はなくなりました)。

3
Iain Barclay

これについての答えを探してここに来る新しい人のために。この問題は、Facebook SDK変更ログによるとv3.14.1で修正されたようです

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

  • タイプFBGraphObjectFBGraphPlaceFBOpenGraphAction、およびFBOpenGraphObjectのidプロパティは、App Storeを避けるためにobjectIDを支持して廃止されました提出の警告。

  • FBLinkShareParamsおよびFBOpenGraphObjectの説明プロパティ
    linkDescriptionを支持して廃止されました。
    objectDescription、それぞれ、アプリストアの送信を回避するため
    警告。

3
Out of Orbit

Facebook iOS SDK 3.12 FBGraphUser.hの同じ問題。

変化する

@property (retain, nonatomic) NSString *id;

@property (retain, nonatomic) NSString *UserId;
2
gabemorales

ファイルFBGraphUser.h

変化する

@property(保持、非アトミック)NSString * id;

沿って

@property(保持、非アトミック)NSString * FbUserId;

0
Carlos Avalos

検証警告は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関連のすべてが私のアプリでまだ機能しているようで、Application Loaderの検証に合格しました。

0
ASHISHT

GithubからFacebookSDKソースをダウンロードし( link )、スクリプトディレクトリで "build_framework.sh"スクリプトを使用することで、この問題(13.1ではitun​​esconnectで警告が生成され、無効なバイナリが生成される)を解決しました。次に、生成されたフレームワークをXcodeプロジェクトに追加しましたが、警告は表示されませんでした。

0
Nicolinux

Facebook iOS SDK 3.13を使用します。検証の警告はありません。

0
Nookaraju