3

iOS 5でfacebook SDK 3を使用しています。毎回ログインウィンドウをユーザーに尋ねたいです。さまざまなユーザーがアプリを使用することを想定してください。以下のコードを試しました。サファリではなく、アプリ内のポップオーバー ビューでログインを表示します。しかし、ログインするか、ウィンドウアプリを閉じるとクラッシュします。

NSArray *permissions = [NSArray arrayWithObjects:@"publish_actions", @"user_photos", nil];
FBSessionLoginBehavior behavior = FBSessionLoginBehaviorForcingWebView;
FBSessionTokenCachingStrategy *tokenCachingStrategy = [[FBSessionTokenCachingStrategy alloc]
                                                       initWithUserDefaultTokenInformationKeyName:@"FBTest"];


FBSession *session = [[FBSession alloc] initWithAppID:@"Appid"
                                          permissions:permissions
                                      urlSchemeSuffix:nil 
                                   tokenCacheStrategy:tokenCachingStrategy];

[session openWithBehavior:behavior
        completionHandler:^(FBSession *session,
                            FBSessionState status,
                            NSError *error) {
            // this handler is called back whether the login succeeds or fails; in the 
            // success case it will also be called back upon each state transition between
            // session-open and session-close
            if (error) {
                UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Error"
                                                                    message:error.localizedDescription
                                                                   delegate:nil
                                                          cancelButtonTitle:@"OK"
                                                          otherButtonTitles:nil];
                [alertView show];
            }
            NSLog(@"SUCEEES");
            [self sessionStateChanged:session state:session.state error:error]; 
        }];
4

1 に答える 1