4

我已将我的 ios 应用程序中的 facebook 升级到 3.0,并使用https://developers.facebook.com/docs/howtos/login-with-facebook-using-ios-sdk/提供的代码让用户通过 facebook 登录,但是问题是在用户允许 facebook 访问之后,该- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation方法没有被调用。但有趣的是,当我创建一个新应用程序并在该应用程序中集成相同的代码时,那里会调用相同的方法。我使用的是 xcode 4.4。任何建议为什么我现有的代码会发生这种情况。

4

3 回答 3

0

这可能是因为您的旧应用程序设置为不在后台运行,如您的应用程序 plist 中设置的那样?我一直有同样的问题。似乎,如果应用程序在后台运行,它将返回并调用 openURL。但是如果应用程序没有在后台运行,它将返回并调用 application:didFinishLaunchingWithOptions,而不是调用 openURL。可以从启动选项中获取 url:

NSURL *url = [launchOptions objectForKey: UIApplicationLaunchOptionsURLKey];

但我还没有弄清楚如何调用它,以便在从 Facebook 身份验证返回时与 application:openURL 具有相同的效果。希望这会有所帮助。

于 2012-09-25T19:23:33.780 回答
0

将 xcode 更新为 4.5 GM 以便正常工作,可能是 xcode 以前版本的问题。

于 2012-10-10T06:22:20.117 回答
0

确保你已经设置了 fburl,并且 appid 很好。如果设备/模拟器有多个使用相同 facebook appId 的应用程序,则可能会发生。

于 2012-09-21T09:25:36.203 回答