4

I downloaded the new Facebook iOS SDK 3.1, which promises to have a native login prompt. I ran their sample login app on my iOS 6 device. When I attempted to connect with Facebook, I did not get a native login. Instead, the Facebook app launched - same as the old SDK. Their Facebook login button basically does this:

[appDelegate.session 
    openWithCompletionHandler:^(FBSession *session, FBSessionState status, NSError *error) {
        [self updateView];
    }
];

I thought maybe the sample code isn't calling the right function. So I tried FBSession's other login function.

[appDelegate.session 
    openWithBehavior:FBSessionLoginBehaviorWithNoFallbackToWebView 
    completionHandler:^(FBSession *session, FBSessionState status, NSError *error) {
        [self updateView];
    }
];

I tried all possible behaviours and none of them popped up the native login prompt.

4

3 に答える 3

4

最初に iOS の設定から Facebook にログインしましたか?

これを行うと、サンプル プロジェクト Scrumptious は、接続しようとするとネイティブのログイン プロンプトを使用します。

于 2012-09-26T19:49:16.877 に答える
1

これを読んでください:https ://developers.facebook.com/docs/howtos/ios-6/#nativeauthdialog

基本的に、最初に基本的なアクセス許可と読み取りアクセス許可を要求してから、個別に公開アクセス許可を要求する必要があります。

于 2012-09-26T19:50:57.293 に答える
1

これは仕様によるものであり、https://developers.facebook.com/docs/getting-started/facebook-sdk-for-ios/3.1/upgrading-from-3.0/の 2 番目のセクションで説明されています。

基本的に、iOS6 ダイアログで読み取りと公開の両方のアクセス許可を要求することはできません。したがって、多かれ少なかれ時間をずらした方法でそれらを要求する必要があります (たとえば、最初のログイン時に読み取り、アプリが実際に公開する必要があるときに公開します)。

非推奨の方法を使用して読み取りと公開を同時に試みようとする場合、SDK は Web またはアプリ切り替えの手法に戻るしかありません。

于 2012-09-27T07:16:28.930 に答える