2012-03-29 5 views
1

最近、AppStoreがUDIDにアクセスするアプリケーションを拒否した場合、Facebook SDK &のAPIはiDevices UDIDにアクセスしますか?親切なアドバイス。ありがとうございました!Facebook SDKとAPIはiDevices UDIDにアクセスしますか?

+0

facebook apiはあなたのUDIDを使用しません。詳細はfacebookの開発者ページのドキュメントを読んでください。 –

+0

詳しくは –

+0

の[FACEBOOK APIの開発者リファレンス](https://developers.facebook.com/docs/reference/iossdk/)を参照してください。一方、サードパーティのフレームワークが次のコードを呼び出すことによってそれを使用しているかどうかを確認できます端末の文字列yourLibName.a | grep uniqueIdentifier' –

答えて

0

私はfacebook-ios-sdkの古いバージョンを使用していますが、UDIDにアクセスしているようです。 iOSの上でUDIDを取得するための適切な方法は、あなたがFacebookのSDKを使用している場合

[[UIDevice currentDevice] uniqueIdentifier] 

を呼び出すことで、それはあなたがソースコードにアクセスすることができます。したがって、ソースコードを検索し、uniqueIdentifierメッセージが使用されているかどうかを確認できます。 UNIX(またはOSのX端末)で、あなたが試すことができます:

cd facebook-ios-sdk/ 
    find . -name '*.m' | xargs grep uniqueIdentifier 

これは(歳程度)私が使っていたSDKのバージョンで任意のヒットを上げませんでした。

私はUNIX grepのような簡単な検出を避けるために、機能にアクセスするためにはもっと邪魔にならない方法がありますが、AppleはこのSDKを使用する多くのアプリケーションを承認しました。あなたは安全だと思います。あなたが見ることができるようにはい、確かに、最新のFacebook IOS SDK 3.5.1はまだ文字列「UNIQUEIDENTIFIER」を使用しています

1

、このコマンドを使用し

cd facebook-ios-sdk/ 
strings FacebookSDK.framework/FacebookSDK | grep uniqueIdentifier 

残念ながら、これはにFacebookのSDKを使用するすべてのアプリを引き起こし最初のステップで拒否され、 "Invalid Binary"と表示されます。アップロードしないと、Validate機能を使用してXcodeオーガナイザ - アーカイブ内でこれを既に確認できます。

はい、問題あり、これを解決するためのヒントは歓迎です!

この問題に関するいくつかのより多くの研究:

私はFacebookのIOSのソースは githubに3.5.1をSDKにチェック。実際には、ソース内の識別子「uniqueIdentifier」への参照はありません。使用される唯一のライブラリは、IOS自体から Accounts.frameworkです。だから、Apple自身がライブラリを更新する必要があるようですね!

+0

Facebookはそれを認めています:http://developers.facebook.com/ios/change-log-3.x/ "[UIDevice uniqueIdentifier]に関するApp Store承認の誤認を防止するためのUIDeviceの使用法" – russau

関連する問題