应用程序打开在用户验证facebook后未调用的Url方法

时间:2012-09-20 15:29:02

标签: ios facebook openurl

我已将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。任何建议为什么会发生我现有的代码。

3 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

NSURL *url = [launchOptions objectForKey: UIApplicationLaunchOptionsURLKey];

但是我还没想出如何调用它以便它与应用程序具有相同的效果:从Facebook身份验证返回时的openURL。希望这会有所帮助。

答案 2 :(得分:0)

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