closeAndClearTokenInformationの呼び出し後にopenWithBehaviorを呼び出すと、EXC_BAD_ACCESSが発生します。ネイティブのiOS組み込みダイアログを使用しているのか、高速切り替えの組み込みダイアログを使用しているのかにかかわらず。Facebook FPSessionの後続呼び出しでiOS SDK 3.1がクラッシュするopenWithBehavior
作品を通してFB、初めてにログインする私たちのコード:
if (![FBSession activeSession]) {
#ifdef FREE_APP
NSString* suffix = @"free";
#else
NSString* suffix = @"paid";
#endif
FBSession *session = [[[FBSession alloc] initWithAppID:@"111111111111111"
permissions:permissions
urlSchemeSuffix:suffix
tokenCacheStrategy:nil] autorelease];
[FBSession setActiveSession:session];
}
else if ([FBSession activeSession].isOpen)
[[FBSession activeSession] close];
[[FBSession activeSession] openWithBehavior:FBSessionLoginBehaviorUseSystemAccountIfPresent
completionHandler:^(FBSession *session, FBSessionState state, NSError *error) {
[self sessionStateChanged:session state:state error:error];
}];
上記のコードはopenWithBehavior後に失敗した後にログアウトする当社のコード、:
[[FBSession activeSession] closeAndClearTokenInformation];
私が最初に代わりopenActiveSessionWithReadPermissionsを使用していたがopenWithBehaviorの3.1文書で規定されているように、クラッシュはしませんが、FB app/Safariから切り替えられたアプリは機能しませんでした。おそらくサフィックスを持つ必要があるからでしょうか?アプリの切り替えを直してそのことに戻るのが最も簡単な場合は、アドバイスをお願いします。
ありがとうございました。
、私はどこに取得し、なぜこのコードを書いていない...そして、常に新鮮なセッションをインスタンス化する前に、それを閉じて、アクティブなセッションをチェックし、更新されたコードです。 OpenWithBehaviour openwithBehaviourでクラッシュしました。 – Heena
上記の最初のスニペットは、エラーをスローしていたfacebookクラスからのものです。私は起こっていたことにコンテキストを追加するためにそれを含めました。私は先に進んで、常に新しいセッションを作成する前に、アクティブなセッションのチェックを追加して終了した後にコードを追加しました。 – leontx