我正在使用两个插件(cordova-plugin-auth-dialog& cordova-inappbrowser)来实现我的cordova ios应用程序的登录过程。
登录本身在iPhone上工作得很好,但在iPad上导致UI冻结很长时间(CPU使用率为99%,持续约1分钟)。它必须由登录引起,因为只要您登录,该应用程序就会正常工作。
在Xcode中,我也可以看到着名的
THREAD WARNING: ['InAppBrowser'] took '52.126953' ms. Plugin should use a background thread.
警告。这真的很重要吗?
我使用的是最新版本的cordova和ios平台的4.1.0版本。
你们有什么提示吗?我也非常想用一些外部工具来调试问题(Safari Debugger,对我来说真的没有任何有用的信息)。
提前致谢!
编辑:添加代码
authDialog.authenticate(URL_TO_LOGIN, function () {
console.log("success");
var inAppBrowserRef = cordova.InAppBrowser.open(URL_TO_LOGIN, '_blank', 'location=yes,hidden=yes');
inAppBrowserRef.addEventListener('loadstart', loadStartCallBack);
inAppBrowserRef.addEventListener('loadstop', loadStopCallBack);
inAppBrowserRef.addEventListener('loaderror', loadErrorCallBack);
defer.resolve();
}, function (error) {
console.log("error xxx:", error);
defer.resolve();
}, username, password);
答案 0 :(得分:0)
以下代码段可能会对您有所帮助。
setTimeout(function(){ _self.openUrl(url)},300);