嗨
我对适用于 iOS 6 的新 Facebook SDK 3.2 有一个大问题(我使用 iPhone 模拟器进行测试)。我已经完全按照操作指南中的描述实现了 Facebook 登录。唯一的区别是我没有在应用程序委托中实现它。我在一个单独的 mm 文件中实现了 Facebook-Stuff(但我也测试了应用程序委托中的代码 -> 同样的问题!)。
这就是发生的情况:如果我尝试登录,屏幕中间会弹出一个 UIView(可能是 UIWebView),我可以输入我的 Account-Credentials。接下来是权限确认屏幕。我单击确定按钮,然后出现错误:“操作无法完成。(com.facebook.sdk 错误 2。)”UserInfo=0x14bbd590 {com.facebook.sdk:ErrorLoginFailedReason=com.facebook.sdk:错误登录未取消}
我已经体验过旧的 facebook-sdk v2。那里没有问题可以整合!但是对于新的和 iOS 6,我无法让它运行:-(
我认为一个基本问题可能是 UIApplicationDelegate 的 openURL 方法没有被调用!我已将 AppID 插入 info.plist 并添加了 URL 类型。它看起来像这个片段:
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLSchemes</key>
<array>
<string>fb111111111111111</string>
</array>
</dict>
</array>
<key>FacebookAppID</key>
<string>111111111111111</string>
我还用wireshark分析了url:
我还仔细检查了所有相关位置的 app-id 是否相等(info.plist/url/dev-site: Bundle ID)!
不知道它是否是重要信息,但我们在我们的应用程序中不使用任何 xib 文件,因为它是使用我们自己的 3d 引擎的 3D 游戏。并且提供的屏幕方向仅为横向。我使用 Xcode 版本 4.5.2 (4G2008a)。
有任何想法吗?
3个附加问题(也许它可以帮助我获得更多信息):
我怎样才能获得更多关于出了什么问题的信息?“com.facebook.sdk error 2”不是很有帮助:-/
有没有一种简单的方法来测试来自 UIApplicationDelegate 的 openURL 方法的自动重定向调用?
有没有办法强制 sdk 使用 safari-browser 而不是视图登录?
提前谢谢
马丁