[英]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控制台上没有任何错误 ,并且应用程序屏幕完全空白 。
我已经尝试过:
(始终进行离子状态重置等)。
(几次)
对于那些将来可能会提到此问题的人,这对我有很大帮助: 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.