我使用在 iPhone 模拟器上运行的 Monotouch Facebook 绑定作为“iPhone”设备(即 320x480),当它尝试授权时,(应用内)弹出对话框永远不会消失。即使使用 monotouch-bindings 中包含的示例应用程序也会发生这种情况。这是发生的事情:
- 打电话给 Facebook.Authorize
- 弹出应用内Facebook登录对话框
- 填写凭据并按“登录”
- Facebook 的应用程序对话框出现“已授权”
- 点击右上角的“确定”按钮
- AppDelegate 使用字符串中的正确访问令牌获取 OpenUrl 调用
- 调用 FBSessionDelegate.DidLogin
...但 Facebook 的应用内弹出对话框永远不会消失。
这是使用 monotouch-bindings 中包含的示例应用程序。facebook SDK、MonoTouch 绑定和示例应用程序是从 Github 中提取的,并在今天构建。无论用户是否已获得 Facebook 应用程序的授权,都会发生这种情况。
这不会发生在以 Retina 分辨率运行的 iPhone 模拟器中。在这种情况下,它会弹出到一个网络视图(我认为是在 Safari 中)以授权用户,然后它会正确返回到应用程序。
请注意,如果我构建包含在(本机)facebook-ios-sdk 中的 HackBook 示例并在 320x480 设备上的模拟器上运行,它不会使用应用内弹出窗口。本机 HackBook 应用程序和 monotouch-bindings 的 FacebookSample 应用程序使用几乎相同的代码,但存在这种行为差异。
有任何想法吗?