8

ネイティブの iOS facebook アプリをクラッシュさせる簡単なフィドルを書くことができました。

このリンクをタイムラインhttp://jsfiddle.net/Gc58e/に貼り付けて(これは、写真スコープを持つ FB.login コールバックを備えた単純なボタンです)、ネイティブ iOS アプリ内から開くと、Web ビューで開きます。 .

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'
    });
});

ボタンをクリックすると、認証ウィンドウが表示され、cancelまたはokをクリックすると、アプリケーション全体がクラッシュします。

Safari で直接表示している場合や、他のブラウザで表示している場合は発生しません。

ネイティブの iOS Facebook アプリ内に埋め込まれた Web ビューから認証を行うと、多くの一般的なアプリもクラッシュすることがわかりました。そのため、バグであるか、正しい方法が明らかでないだけである可能性があります...

これがクラッシュログです。

4

1 に答える 1

1

現在、Facebookによって修正されています。私はそれをテストしましたが、うまくいくようです。

于 2013-05-02T07:59:30.560 に答える