我已将我的 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。任何建议为什么我现有的代码会发生这种情况。
问问题
1644 次
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 回答