私はこれに穴の日を費やし、スタックオーバーフローを検索しますが、解決策を見つけることができません。私のコードはiOS5.1と3.1で問題なく実行されていましたが、iOS6.0では問題が発生しました。
まず、Facebookアプリの設定からアプリを削除して、初めてのユーザーをシミュレートします。次に、アプリをインストールしてログインしてみます。iOS設定からFacebookにログインしない限り、すべてが正常に機能します(つまり、私のアプリは拡張認証ダイアログを使用しません)。iOS設定でログインすると、次のようなエラーが発生します。
FacebookログインのエラーエラーDomain=com.facebook.sdk Code = 2 "操作を完了できませんでした。(com.facebook.sdkエラー2)" UserInfo = 0x1dd7d570 {com.facebook.sdk:ErrorLoginFailedReason = com.facebook .sdk:ErrorLoginFailedReason、com.facebook.sdk:ErrorInnerErrorKey = Error Domain = com.apple.accounts Code = 7 "Facebookサーバーはこのアクセス要求を満たすことができませんでした:アプリはインストール時に基本的な読み取り許可を要求する必要があります。" UserInfo = 0x1ddab400 {NSLocalizedDescription = Facebookサーバーはこのアクセス要求を実行できませんでした:アプリはインストール時に基本的な読み取り権限を要求する必要があります。}}
私は次のコードを持っています
NSArray *permissions = [[NSArray alloc] initWithObjects:
@"user_about_me", @"friends_about_me",
@"user_birthday", @"friends_birthday",
@"user_work_history", @"friends_work_history",
@"user_relationships", @"friends_relationships",
@"user_notes", @"friends_notes", nil];
return [FBSession openActiveSessionWithReadPermissions:permissions
allowLoginUI:allowLoginUI
completionHandler:^(FBSession *session,
FBSessionState state,
NSError *error) {
[self sessionStateChanged:session
state:state
error:error];
}];
私が見つけた唯一の解決策は、
openActiveSessionWithReadPermissions
非推奨に戻る:
openActiveSessionWithPermissions