Facebook 4.x への更新以降、以下は機能しなくなりました。
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
{
return [FBAppCall handleOpenURL:url sourceApplication:@"yyyyxxxxyyyxxxx" withSession:[PFFacebookUtils session]];
}
両方ともapplication: handleOpenURL
廃止されたため、FBAppCall は削除されて BFURL に置き換えられました。
次のことを示唆するBoltsのドキュメントを読んでみました:
- (BOOL)application:(UIApplication *)application
openURL:(NSURL *)url
sourceApplication:(NSString *)sourceApplication
annotation:(id)annotation {
BFURL *parsedUrl = [BFURL URLWithInboundURL:url sourceApplication:sourceApplication];
//do something with parsedUrl if neccessary
...しかし、BFURL をどうすればよいかわかりません。以前は、このメソッドには以下が含まれていました。
return [[FBSDKApplicationDelegate sharedInstance] application:application
openURL:url
sourceApplication:sourceApplication
annotation:annotation];
}
しかし、FBにログインしようとするたびに(FBアプリがインストールされていない場合)、Safariに終了し、アプリを承認し、アプリに戻りますが、再起動してログインに失敗します。約4回連続して試行した後、時々ログインします。これは、アプリへの戻りを正しく処理していないためだと思いますが、何を追加すればよいかわかりません。