2012-11-10 6 views
11

のiOS 6.0とiOS 6.0.1に[FBSession openActiveSessionWithPermissions ...]呼び出すときに、私はこの呼び出しを使用してログインを行っていますACAccountStoreからスロー - ありNSInvalidArgumentExceptionするFacebookのiOS SDK 3.1.1で

NSArray *permissions = [[NSArray alloc] initWithObjects: @"email", @"user_birthday", @"user_location", nil]; 

@try { 
    return [FBSession openActiveSessionWithReadPermissions:permissions 
               allowLoginUI:allowLoginUI 
             completionHandler:^(FBSession *session, 
                  FBSessionState state, 
                  NSError *error) { 
              [self sessionStateChanged:session 
                   state:state 
                   error:error]; 
             }]; 
} 
@catch { ... } 

まれに、このメソッドがメッセージAccess options are not permitted for this account type. The options argument must be nil.NSInvalidArgumentExceptionをスローすると、これは[ACAccountStore requestAccessToAccountsWithType:options:completion:]からスローされます。 ACAccountStoreのAppleのドキュメントをチェック

は、私がそのメソッドのためにこのコメントを参照してください。(Facebookなど)

」特定のアカウントの種類は、オプション辞書を必要とするオプションの辞書が用意されていない場合、このメソッドはNSInvalidArgumentExceptionをスローします。逆に、アカウントタイプにオプション辞書が必要ない場合、optionsパラメータはnilでなければなりません。

AppleはこれをFacebook以外のnilにする必要がありますが、この方法はFacebookから呼び出されるため、FacebookやiOS 6.0/.1のバグかもしれませんが、ウェブ上で何も見つかりませんでしたこの問題について

アイデア?

+0

私は同じトレースとcrashlogを持っています。あなたはこれを修正することになりましたか?前もって感謝します! –

+0

いいえ、現時点では私は例外をキャッチして無視しています。 – Kof

+0

この問題を解決しましたか? – vburojevic

答えて

4

このバグの回避策を見つけました。 https://developers.facebook.com/bugs/139251032898548

Facebook SDKは、accountTypeWithAccountTypeIdentifierの戻り値のnullチェックを行いません。あなたがFacebookのlgoinを試みる前に、次のチェックを行うことができ、問題を回避するにはhttps://github.com/facebook/facebook-ios-sdk/blob/master/src/FBSystemAccountStoreAdapter.m?source=c#L176

を参照してください:

if ([[[ACAccountStore alloc]init] accountTypeWithAccountTypeIdentifier:@"com.apple.facebook"] == nil) { 
    NSLog(@"Cannot proceed, not facebook account type identifier"); 
    return; 
} 
+0

Facebookのアカウントストアがない場合は、失敗する代わりに他の方法(シングルサインオンなど)でFacebookのログインをしたい – user102008

+0

この例外は3.5.2を使用して確認しました。 //github.com/facebook/facebook-ios-sdk/blob/sdk-version-3.5.2/src/FBSystemAccountStoreAdapter.m#L174 –