ユーザーが自分のウォールにアプリについて投稿できるようにするために、アプリに Facebook SDK 3.1 を実装しようとしています。ユーザーの情報は一切必要ありません。他の人がアプリを購入してダウンロードできるように、アプリを共有して楽しんでもらいたいだけです。
次の Facebook ページの指示に従って、開始し、Facebook にログインしました。
https://developers.facebook.com/ios/features/whats-new-ios-sdk-3.1/
iOS 6.0 を実行しているデバイスで、基本的な情報を要求するはずの次のコード ブロックが表示されてがっかりしました。
- (BOOL)openSessionWithAllowLoginUI:(BOOL)allowLoginUI {
return [FBSession openActiveSessionWithReadPermissions:nil
allowLoginUI:allowLoginUI
completionHandler:^(FBSession *session,
FBSessionState state,
NSError *error) {
[self sessionStateChanged:session
state:state
error:error];
}];
}
次の UIAlertView ダイアログ メッセージがユーザーに表示されます。
"App Name" would like to access your basic profile info and list of friends.
エンド ユーザーとして、なぜこのアプリに友達のリストが必要なのか疑問に思います。実際には、私たちのアプリは友達のリストを必要とせず、アプリが私の友達にスパムを送信し始めることを懸念します (非常に多くのアプリが実際に許可を与えているように)。
ここでもエンド ユーザーのふりをして、しぶしぶ権限を与えた後、ブラウザにアクセスして Facebook のアカウント設定にアクセスし、[アプリ] を選択します。次に、アクセスを許可したばかりのアプリを選択します。次のように述べています。
このアプリには以下が必要です:
Your email address
Your birthday
Your location
繰り返しますが、アプリはそれらのものを必要としません。
Facebookの同じアプリ設定ページには、「最後のデータアクセス」->「詳細を見る」オプションがあります。それをクリックすると、次のように表示されます。
Last Data Access
In the last 90 days, "App Name" accessed the following information on your behalf:
Basic Information
Education History, Current City and Work History
プロットが厚くなります!私のアプリは学歴、現在の都市、職歴を必要としません。
これが私を悩ませている理由は、私のアプリがこれらすべてのものを必要とする理由をユーザーが理解していないため、ユーザーがこれらのアクセス要求を拒否すると信じているからです。
ユーザーがアプリから自分のウォールにアプリについて投稿できるように、最小限の権限を本当に求めるにはどうすればよいでしょうか?
これを成功させた人はいますか?