1

私はすべての指示に従いました:

  • (BOOL)openSessionWithAllowLoginUI:(BOOL)allowLoginUI私のappdelegateヘッダーと実装で定義されています
  • NSString *const FBSessionStateChangedNotificationユニークです
  • FBLoginViewScrumptiousサンプルアプリと同じように、を使用します

しかし、openSessionWithAllowLoginUI が呼び出されることはありません。

アクセス許可が設定されているのはそのメソッド内であるため、それらを変更することはできません。

- (BOOL)openSessionWithAllowLoginUI:(BOOL)allowLoginUI
{
    return [FBSession openActiveSessionWithReadPermissions:@[@"basic_info", @"email"]
                                              allowLoginUI:allowLoginUI
                                         completionHandler:^(FBSession *session, FBSessionState state, NSError *error)
            {
                [self sessionStateChanged:session state:state error:error];
            }];
}

これを修正するにはどうすればよいですか?

4

2 に答える 2

2

Facebook iOS SDK を最新バージョンに更新してみてください。

次のように、@"basic_info" の代わりに @"Public_profile" を使用します。

于 2014-07-29T11:11:13.737 に答える
0

彼らが提案している Facebook 開発者サイトでは、applicationDidFinishLaunching 自体が開始されたときにセクションを開始する必要があります。したがって、そこからopenSessionWithAllowLoginUI: NO (ログイン ui を提供する必要はありません) を呼び出す必要があります。ユーザーがログインしていなくても、このメソッドは何もしません。それ以外の場合、ユーザーがすでに承認されている場合は、ユーザーのセッションを開始し、状態も変更します (通知を受け取る) ので、それに応じてログイン ボタンを設定できます。最後に、このメソッドがセッションの開始に失敗したかどうかは、ユーザーがopenSessionWithAllowLoginUI を呼び出してログイン ボタンからログインできるようにする: YES

于 2013-06-18T14:15:10.603 に答える