0

我正在尝试将 Facebook sdk 与我的 iOS 应用程序一起使用,

  1. 我正在使用带有 SDK v6.0 的 xcode 4.5.2
  2. 我的设备是 iPod touch v6.0.1
  3. 我有一个配置文件集
  4. 我已订阅为 facebook 开发人员并注册了一个 facebook 应用程序,包括
    • '捆绑 ID'
    • '启用'Facebook登录'。
    • ...
  5. 我已经在“URL 类型”->“项目 0”->“URL Scemes”->“项目 0”下的 plist 文件中设置了 facebook AppId。

使用物理设备时,我的应用程序正在切换到 facebook 登录页面,但是,登录后,它并没有回到我的应用程序!!!
令人惊讶的是,当使用模拟器时一切正常,我的应用程序从 facebook 登录页面来回切换。

我可能做错了什么?为什么在物理设备上登录后我无法返回我的应用程序,而在使用模拟器时我可以?这可能与配置文件有某种关系吗?

任何帮助将不胜感激。

4

3 回答 3

1

在年初,我遇到了同样的问题,我正在用HACKBOOK示例进行测试,并且与您的问题相同。我可以在模拟器中运行良好,但是当我在设备中进行测试时,我遇到了同样的问题,然后我就放了下面的代码并且工作得很好。

只是你只需要在你的应用程序委托中添加这个方法:

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
    return [self.facebook handleOpenURL:url];
}

此方法适用于使用 fbApp 或 safari 登录。从 facebook 登录页面重定向回我们的应用程序

于 2012-12-26T07:42:56.620 回答
0

转到 SDK 中的 facebook.m 类,找到此方法:

- (void)authorize:(NSArray *)permissions
         delegate:(id<FBSessionDelegate>)delegate

然后替换你的最后一行:[self authorizeWithFBAppAuth:YES safariAuth:YES];

用这一行:[self authorizeWithFBAppAuth:YES safariAuth:NO;&检查。

于 2012-12-26T07:45:42.023 回答
0

问题是基类正在实现 'applicationDidBecomeActive' 和 'applicationWillTerminate' (其中 '[FBSession.activeSession handleDidBecomeActive]' 和 '[self.session close]' 被相应地调用),而继承类实现了相同的方法 w/o调用基 [super] 类实现。

于 2012-12-26T12:20:25.680 回答