私はFacebookの開発サイトでガイドに従っています。これですべての設定が完了し、認証はうまくいったようですが、申し込みを受け入れて[OK]を押すと、上部に[キャンセル]が表示された空白の画面しか表示されません。
問題はsessionStateChanged-methodにあると思います。この部分で停止する必要があります(私は思います):
switch (state) {
case FBSessionStateOpen: {
UIViewController *topViewController =
[self.navController topViewController];
if ([[topViewController modalViewController]
isKindOfClass:[MyLoginViewController class]]) {
[topViewController dismissModalViewControllerAnimated:YES];
}
} break;
したがって、ログインと承認が成功した場合、これは発生するはずですよね?まあ、私のブレークポイントによると、それは決して起こりません。たぶんそれが、アプリケーションが二度と開かれない理由なのだろうか?
とにかく、私はこれについて私が得ることができるどんなヒントやアドバイスにも感謝しています。
編集:問題がopenSession-methodであることを発見しました:
- (void)openSession
{
[FBSession openActiveSessionWithReadPermissions:nil
allowLoginUI:YES
completionHandler:
^(FBSession *session,
FBSessionState state, NSError *error) {
[self sessionStateChanged:session state:state error:error];//This never gets called!!!
}];
}
sessionStateChangedメソッドが呼び出されることはありません。理由はわかりません。