12

ユーザーが自分のウォールにアプリについて投稿できるようにするために、アプリに 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

プロットが厚くなります!私のアプリは学歴、現在の都市、職歴を必要としません。

これが私を悩ませている理由は、私のアプリがこれらすべてのものを必要とする理由をユーザーが理解していないため、ユーザーがこれらのアクセス要求を拒否すると信じているからです。

ユーザーがアプリから自分のウォールにアプリについて投稿できるように、最小限の権限を本当に求めるにはどうすればよいでしょうか?

これを成功させた人はいますか?

4

0 に答える 0