openActiveSessionWithReadPermissions の実行中に、ユーザーがアプリへの Facebook アクセスを許可していないことを知る必要があります。(設定 -> Facebook -> マイアプリでスイッチが「オフ」に設定されていることを意味する許可されていません。)
許可されていない場合のエラーは次のとおりです。
Error Domain=com.facebook.sdk Code=2 "The operation could not be completed. (com.facebook.sdk error 2.)" UserInfo=0x1fd46780 {com.facebook.sdk:ErrorLoginFailedReason=com.facebook.sdk:ErrorLoginFailedReason }
比較のために、ネットワークがない場合のエラーを次に示します。
Error Domain=com.facebook.sdk Code=2 "The operation could not be completed. (com.facebook.sdk error 2.)" UserInfo=0x1edf2eb0 {com.facebook.sdk:ErrorLoginFailedReason=com.facebook.sdk:ErrorLoginFailedReason , com.facebook.sdk:ErrorInnerErrorKey=Error Domain=NSURLErrorDomain Code=-1009 "インターネット接続がオフラインのようです。" UserInfo=0x1ed47a20 {NSErrorFailingURLKey=https://api.facebook.com/method/auth.iosauthorizeapp, NSErrorFailingURLStringKey=https://api.facebook.com/method/auth.iosauthorizeapp, NSLocalizedDescription=インターネット接続がオフラインのようです。 }}
ユーザーが許可されていないことを検出する確実な方法はありますか? UserInfo ディクショナリでエラー コード 2 と 1 つのキーと値のペアを探すだけですか?
Facebookが私たちに「いいね!」をくれたらいいBOOL granted
のにACAccountStoreRequestAccessCompletionHandler
。