繁体   English   中英

Cordova控制台无法捕获在iOS(Xcode)上运行Ionic的异常

[英]Cordova console does not catch exceptions running Ionic on iOS (xcode)

我花了将近2天的时间写这篇文章。

由于某些原因,xcode上显示的控制台与运行带有“ ionic run android -l -c”的应用程序的控制台不同。

在大多数情况下,我们使用Android进行开发并不重要,但是当涉及本机功能(使用cordova)时,我们需要捕获iOS环境上的异常和错误,在这种情况下,Ionic无法向我显示错误我们完全失明了 生产力为零。

环境:

MacBook-Air:mobile rodrigo$ ionic info

Your system information:

Cordova CLI: 7.0.1
Gulp version:  CLI version 3.9.1
Gulp local:   Local version 3.9.1
Ionic Framework Version: 1.3.1
Ionic CLI Version: 1.7.16
Ionic App Lib Version: 0.7.3
ios-deploy version: 1.9.1 
ios-sim version: Not installed
OS: Mac OS X El Capitan
Node Version: v6.10.3
Xcode version: Xcode 8.3.2 Build version 8E2002 

MacBook-Air:mobile rodrigo$ cordova -v
7.0.1

MacBook-Air:mobile rodrigo$ npm -v
4.2.0

在packages.json中:

  "cordova-plugin-console": "^1.0.7",

Xcode版本:

Version 8.3.2 (8E2002)

一个例子。 当未定义某些内容时,我在Android上得到了类似的信息(离子运行android -l -c):

898806   error    ReferenceError: createByQRCode is not defined
   at new <anonymous> (http://192.168.0.144:8100/js/services/rs-service.js:9:19)

而且我在Xcode控制台上没有任何错误 ,并且应用程序屏幕完全空白

我已经尝试过:

  • 删除并重新安装iOS平台
  • 删除并重新安装cordova-plugin-console
  • 破坏和重建整个环境

(始终进行离子状态重置等)。

(几次)

对于那些将来可能会提到此问题的人,这对我有很大帮助: http : //docs.ionic.io/tools/developer/#safari-inspector-应该启用Safari的“ Web inspector”甚至不会看到普通的console.log()输出。

任何帮助将不胜感激!

如前所述,您可以在桌面Safari中打开“ 开发”菜单
(请参阅https://support.apple.com/kb/PH21491?locale=zh_CN

当您的Cordova应用程序在仿真器或连接到USB的真实设备上运行时,您会在此菜单中看到带有JSContexts的设备。 您将能够看到console.log()输出和JS异常,例如“未定义someVariable”

难道您是要在xcode中创建生产版本并使用ionic run开发版本? 无法通过Safari中的“ 开发”菜单检查为生产而构建的应用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM