こんにちは、Facebookのログインにios6を使用していますが、このエラーがネイティブポップアップとして表示されます
操作を完了できませんでした。 (com.facebook.sdkエラー2.)
これは使用されるシナリオです。 (simularorでこれを実行しています)
私は設定を介してFacebookアプリにログインしましたが、アプリにログインしてみましたが、うまく機能しました。
次に、設定からFacebookからログアウトし、別のユーザーで再度ログインしました。次に、アプリにログインしようとしました。このエラーが発生しています。
コマンドを使用してアプリからログアウトしてみました
[FBSession.activeSession closeAndClearTokenInformation];
しかし、役に立たない。
Facebookアプリのバンドル識別子は、私のiosアプリと同じです。
これはログインに使用したコードです
NSArray *permissions = [[NSArray alloc] initWithObjects:@"email", nil];
[FBSession openActiveSessionWithReadPermissions:permissions
allowLoginUI:YES
completionHandler:
^(FBSession *session,
FBSessionState state, NSError *error) {
[self sessionStateChanged:session state:state error:error];
}];
どんな助けも大歓迎です。
これは私が得ているエラーです
Domain = com.facebook.sdk Code = 2「操作を完了できませんでした。(com.facebook.sdkエラー2)」UserInfo = 0x9535330 {com.facebook.sdk:ErrorLoginFailedReason = com.facebook.sdk:SystemLoginDisallowedWithoutError、 com.facebook.sdk:ErrorSessionKey =、expirationDate:(null)、refreshDate:(null)、attemptedRefreshDate:0001-12-30 00:00:00 + 0000、permissions:(null)>}
[〜#〜] note [〜#〜]別の場所で同じエラーが発生しました。当時、それは私のコードのバグでした
として許可を与える代わりに
NSArray *permissions = [[NSArray alloc] initWithObjects:@"email",@"birthday", nil];
間違ってやっていた
NSArray *permissions = [[NSArray alloc] initWithObjects:@"email,birthday", nil];
[〜#〜] solution [〜#〜]コードを修正した後でも、同じエラーが発生していました。 iOSの設定画面からFacebookからログアウトしてログインする必要があります。一度それをやれば、正しいコードが問題を引き起こすことはありませんでした。この問題は、以前にバグのあるコードを実行したデバイスでのみ発生したことに注意してください。問題の原因を確認してください。この情報が誰かの助けになることを願っています
これは私のために働いた:
これはどのデバイスでも発生する可能性があるため、アプリではこのエラーを正しく処理する必要があります。 Facebookでのログインに失敗した理由をユーザーにフィードバックし、デバイスでFacebookの設定を確認するようにユーザーに依頼します。
- (void)facebookSessionStateChanged:(FBSession *)session state:(FBSessionState)state error:(NSError *)error
{
switch (state) {
case FBSessionStateOpen:
// handle successful login here
case FBSessionStateClosed:
case FBSessionStateClosedLoginFailed:
[FBSession.activeSession closeAndClearTokenInformation];
if (error) {
// handle error here, for example by showing an alert to the user
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Could not login with Facebook"
message:@"Facebook login failed. Please check your Facebook settings on your phone."
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alert show];
}
break;
default:
break;
}
プロジェクトのバンドル識別子を確認し、developer.facebook.comで作成したアプリが同じかどうかを示すバンドル識別子を指定します。
このエラーの別の潜在的な原因:Facebookユーザーがアプリの管理者、開発者、またはテスターにリストされていないときに、サンドボックスモードでFacebookアプリの許可を取得しようとしています。
ログイン時にnil許可を渡すことで問題を解決します。
[FBSession openActiveSessionWithReadPermissions:nil
allowLoginUI:YES
completionHandler:
私は同じ問題を抱えていて、問題を理解するために丸一日かかりました。 Facebook SDKによるこのエラーメッセージは非常にあいまいです。 OpenURL:メソッドがMyApplicationで上書きされるため、この問題が発生しました。上書きされたメソッドを削除し、Facebookのログインは正常に機能しました。
同様の問題がありました。 iがfbユーザーを設定から切り替えたときにエラーが発生します。 デバイスでFBアカウントを切り替えると、iOS6でFacebook認証が失敗します これで問題が解決しました
私にとって問題は無効な許可でした-「user_birthday」ではなく「birthday」を要求していました。エラーメッセージが少なくとも最低限の説明ではないのは残念です。ERRORCODE 2ではなく「permissions invalid」と言うだけで時間を大幅に節約できます。