簡體   English   中英

Appcelerator Facebook模塊Authorize()在IOS上不顯示登錄對話框

[英]Appcelerator Facebook Module Authorize() Does Not Present Login Dialog on IOS

我正在使用帶有5.2.1ga sdk的appcelerator的facebook模塊的5.0.1版本。 我無法使該模塊顯示一個用於共享的Facebook登錄對話框。 這是我的代碼:

  var FacebookPublic = require("FacebookPublic");  
  var fb = require('facebook');            
  // Test 
  // fb.setLoginBehavior(fb.LOGIN_BEHAVIOR_WEB );
  //  fb.permissions = ['email'];
  //  fb.permissions = ['read_stream','publish_actions'];
  //  fb.initialize(); 
  fb.authorize();               
  if ( fb.getLoggedIn() == false )
  {
     alert('Error Logging Into Facebook');
     return;                      
  }

我的代碼沒有記錄任何錯誤,只是被fb.authorize()吹響了alert('Error Logging Into Facebook')錯誤語句。 我嘗試了各種登錄行為(請參見代碼中的注釋部分)

這是我的tiapp.xml中的plist

 <key>CFBundleURLTypes</key>
            <array>
                <dict>
                    <key>CFBundleURLSchemes</key>
                    <array>
                        <string>fbXXX</string>
                    </array>
                </dict>
            </array>
            <key>FacebookAppID</key>
            <string>XXX</string>
            <key>FacebookDisplayName</key>
            <string>MYFACEBOOKAPP</string>
            <key>LSApplicationQueriesSchemes</key>
            <array>
                <string>fbapi</string>
                <string>fb-messenger-api</string>
                <string>fbauth2</string>
                <string>fbshareextension</string>
                <string>fbapi20130214</string>
                <string>fbapi20130410</string>
                <string>fbapi20130702</string>
                <string>fbapi20131010</string>
                <string>fbapi20131219</string>
                <string>fbapi20140410</string>
                <string>fbapi20140116</string>
                <string>fbapi20150313</string>
                <string>fbapi20150629</string>
                <string>fbauth</string>
                <string>fb-messenger-api20140430</string>
            </array>

我已經使用bundleId為IOS配置了Facebook開發者帳戶。 相同的代碼在我的android應用中正常工作。 有人對如何使它起作用有任何想法嗎?

謝謝

    var fb = require('facebook');
     fb.permissions = [FACEBOOK_APP_PERMISSIONS];
     fb.initialize(); // <-- YOU NEED INITIALIZE MODULE
     //for get error or success add listener
     fb.addEventListener('login', function(e) {
        if (e.success) {
            alert('login from uid: '+e.uid+', name: '+  JSON.parse(e.data).name);
            label.text = 'Logged In = ' + fb.loggedIn;
        }
        else if (e.cancelled) {
            // user cancelled
            alert('cancelled');
        }
        else {
            alert(e.error);
        }
     });
     fb.authorize();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM