javascript - 从网络应用程序调用 FB.login() 时,官方 Facebook iOS 应用程序总是崩溃

标签 javascript ios authentication crash facebook-javascript-sdk

我已经成功编写了一个简单的 fiddle,它会导致 native iOS facebook 应用程序崩溃。

如果您将此链接粘贴到您的时间线中 http://jsfiddle.net/Gc58e/ (它只是一个简单的按钮,带有带有照片范围的 FB.login 回调)并从 native iOS 应用程序中打开它,它在 Web View 中打开。

html

<div id="fb-root"></div>
<div class="box">
    <div class="info">Let's see if we can crash it!</div>
    <button class="login">Login with Facebook</button>
</div>

javascript

window.fbAsyncInit = function () {
    FB.init({
        appId: '467875209900414'
    });
};
(function (d) {
    var js, id = 'facebook-jssdk';
    if (d.getElementById(id)) {
        return;
    }
    js = d.createElement('script');
    js.id = id;
    js.async = true;
    js.src = "//connect.facebook.net/en_US/all.js";
    d.getElementsByTagName('head')[0].appendChild(js);
}(document));

$('.login').on('click', function () {
    FB.login(function (response) {
        alert('login callback' + JSON.stringify(response));
    }, {
        scope: 'user_photos'
    });
});

当您单击该按钮时,会显示身份验证窗口,在单击取消确定 后,整个应用程序崩溃。

如果您直接使用 Safari 或在任何其他浏览器中查看它,则不会发生这种情况。

我已经看到许多流行的应用程序在从 native iOS Facebook 应用程序内的嵌入式 webview 进行身份验证时也会崩溃;所以这可能是一个错误,或者只是正确的方法不明显......

Here's crashlog .

最佳答案

它现在已经被 Facebook 修复了。我已经对其进行了测试,似乎工作正常。

关于javascript - 从网络应用程序调用 FB.login() 时,官方 Facebook iOS 应用程序总是崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16236928/

相关文章:

ios - UILabel 的宽度超过使用编程自动布局的文本

ios - Swift - 调整 fontSize 以适应布局的宽度(以编程方式)

ios - CollectionViewCell 固定大小作为 Apple News 应用程序

javascript - 如何在 JavaScript 中对 Promise 'then' 的结果进行单元测试?

javascript - 从javascript动态生成的DIV位置问题

Javascript - 如何使用正则表达式更干净/高效地执行此字符串操作?

Django 登录尝试有时会默默地失败

iphone - OAuth 问题,带参数的 POST

android - SQLite android 应用程序登录

javascript - 如何使用 jQuery 模糊调用函数,除非单击链接?