应用浏览器中的iOS Facebook与Safari的行为有何不同?

时间:2013-11-23 18:56:29

标签: c# ios facebook iis facebook-apps

我刚刚开始使用Facebook应用程序(即:它是一个位于apps.facebook.com的网络应用程序)。该应用程序是一个简单的表单,允许您投票选择四个选项之一。在提交表格进行投票时,我们还会捕获FB ID,以便将用户限制为每天4票。

在沙盒模式下测试此应用以及在任何浏览器中运行时,应用程序运行正常。它甚至在用户未通过FB身份验证的边缘情况下进行异常处理等。

我们遇到的问题是,当用户从iOS Facebook应用程序中访问该应用程序时,该链接将在Facebook应用程序浏览器中打开(基于我认为的iOS UIWebView组件)。在此环境中使用它时,当表单提交我们的服务器时会产生500错误。

现在我知道500错误将与Facebook无关,因为它是我们的应用程序代码,但我的困惑源于这一事实,这只发生在Facebook的应用程序浏览器中。我们目前正在尝试确定500错误的性质(我们无法访问生产环境并且已关闭自定义错误)。

我的问题是:应用程序浏览器中的Facebook与标准UIWebView或iOS Safari的行为方式不同或做得与众不同吗?

我正在考虑诸如干扰POST数据,清除FB登录凭据等差异。

1 个答案:

答案 0 :(得分:1)

简而言之,Facebook应用程序浏览器的行为与标准UIWebViewiOS Safari网络浏览器的行为不同。

Safari网络浏览器和UIWebView确实使用不同的用户代理。

Facebook嵌入式浏览器似乎没有发布隐藏的表单值。我似乎无法找到iOS应用程序中使用的嵌入式浏览器的任何调试工具。

我可能不会100%真的在这个,但我认为Facebook可能仍然使用这个浏览器的iOS应用程序。但是对这个库的支持已经停止,并且在2年多时间内没有更新。

https://github.com/facebook/three20/wiki/Using-integrated-web-browser-via-TTWebController

因此,简而言之,您的问题的答案是肯定的,但找到解决此问题的方法是另一回事。

我还没找到任何东西......

祝你好运!