【发布时间】:2013-03-15 21:56:59
【问题描述】:
我将在 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 应用程序使用几乎相同的代码,但存在这种行为差异。
有什么想法吗?
【问题讨论】:
-
还有一个后续问题:在我自己的应用程序中,Facebook SDK -always- 使用应用程序内弹出窗口,因此我的应用程序 -never- 无法登录 Facebook。在 FacebookSample 应用程序中,如果我在 iPhone 3 分辨率以上运行,至少它会弹出到 webview。任何想法为什么 SDK 会选择只使用应用内弹出窗口?
标签: xamarin.ios