MonoTouch + Facebook弹出对话框永远不会消失

时间:2013-03-15 21:56:59

标签: xamarin.ios

我正在使用在iPhone模拟器上运行的Monotouch Facebook绑定作为“iPhone”设备(即320x480),当它尝试授权时,(应用程序内)弹出对话框永远不会消失。即使单元包绑定中包含示例应用程序,也会发生这种情况。这是发生的事情:

  • 致电Facebook.Authorize
  • 弹出应用内 Facebook登录对话框
  • 填写凭据并按“登录”
  • Facebook的应用程序对话框出现,“已经授权”
  • 点按右上角的“正常”按钮
  • AppDelegate使用字符串
  • 中的适当访问令牌获取OpenUrl调用
  • 调用FBSessionDelegate.DidLogin

...但Facebook的应用内弹出式对话框永远不会消失。

这是使用monotouch-bindings中包含的示例应用程序。 facebook SDK,MonoTouch绑定和示例应用程序都是从Github中提取出来的,并且是今天制作的。无论用户是否已获得Facebook的应用程序授权,也会发生这种情况。

在Retina分辨率下运行的iPhone模拟器中发生。在这种情况下,它弹出到Web视图(在Safari中,我认为)来授权用户,并且它会正确地返回到应用程序。

请注意,如果我构建了(本机)facebook-ios-sdk附带的HackBook示例并在320x480设备上的模拟器上运行,那么使用应用内弹出窗口。本机HackBook应用程序和monotouch-bindings的FacebookSample应用程序使用的代码几乎相同,但存在这种行为差异。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我认为这里有两个问题。

1。我的开发工具安装和iPhone模拟器存在问题,有时Safari本身甚至无法运行。它会进行过渡效果,然后立即消失。我的猜测是Facebook SDK正在尝试使用URL启动Safari,当失败时它会回退到应用程序内的Web视图。

2。 Facebook SDK的网络视图后备可能会被破坏(因为它在您授权后永远不会删除网页视图),或者我的安装可能还有导致网络的其他问题熬夜。

重新启动我的Macbook并在我的iOS模拟器上执行重置内容和设置有时可以帮助Safari启动,但通常最终会出现问题。

我能找到的最近的stackoverflow问题是here,他们建议重新安装Xcode。如果/当我开始这样做时,我会发布是否解决了这个问题。