InAppBrowser应该使用一个后台线程警告

InAppBrowser Should Use a Background Thread Warning

本文关键字:一个 后台 线程 警告 InAppBrowser      更新时间:2023-09-26

我使用PhoneGap/Cordova和Ionic/Angular与Firebase Simple Login for Facebook。我在登录页面上有一个按钮,应该调用auth.login()。这在Chrome中有效,但当我通过xCode在iPhone 5s (iOS7)上运行时单击它时,我得到以下错误:

2014-07-07 18:47:44.921 HOST-ENTOURAGE[650:60b] Setting the WebView's frame to {{0, 0}, {320, 524}}
2014-07-07 18:47:44.928 HOST-ENTOURAGE[650:60b] THREAD WARNING: ['InAppBrowser'] took '40.712158' ms. Plugin should use a background thread.
2014-07-07 18:47:47.029 HOST-ENTOURAGE[650:60b] {"code":"UNKNOWN_ERROR"}

我尝试过的事情:

  1. 删除了我的inappbrowser插件文件夹,ios。Json文件和ios平台文件夹。然后进行了重建。
  2. 设备模拟器也不工作
  3. 最小化应用程序并重新打开不能修复
  4. 我试着在index.html中重新排序我的脚本(即把cordova.js放在第一位)

Repo is here: Host Entourage Repo

我已经为此挣扎了几个小时,所以任何帮助都会非常感激!

更新:这是我正在使用的代码。感谢加藤指出这将是更有用的!

var chatRef = new Firebase('https://host-entourage.firebaseio.com');
var auth = new FirebaseSimpleLogin(chatRef, function(error, user) {
    if (error) {
      console.log(error);
    } else if (user) {
      $rootScope.$apply(function(){$location.path('/main/login/loginchoice'); });
      isLoggedIn = true;
      console.log('User ID: ' + user.uid + ', Provider: ' + user.provider);
    } else {
      console.log('Not logged in');
    }
  });

按钮功能:

login: function() {
      if (!isLoggedIn) {
        auth.login('facebook', {
          rememberMe: true,
          scope: 'email,public_profile'
        });
      } else {
        $location.path('/main/login/loginchoice')
      }

' ' '

一个可能的建议是检查你的API/KEY设置,就像在处理Twitter/Firebase的这个线程中发现的那样。

如果这不是你的问题,文档说当你遇到UNKNOWN_ERROR时联系support@firebase.com