Ionic Native与控制台日志从离子cordova运行ios -c

时间:2018-01-22 12:20:17

标签: ionic-framework native console.log

我已经搜遍了所有这个答案,但没有任何作用。 我正在使用各种原生插件在Ionic 2中构建一个iPad应用程序。 我希望能够使用ios仿真器或iPad设备测试本机功能并观察控制台日志,但不记录任何内容。 理想情况下,我也想要实时重播,但我会采取我能得到的东西。

我最终在Xcode中显示控制台日志,但这涉及到运行

cordova platform prepare

每次进行一次编辑时,都会手动从Xcode运行该过程。这比

需要更长的时间
ionic cordova run ios --target="iPad-Air" -c

为什么我在使用run时不能只看到日志? 我已经查看了它将console.log文件保存到的位置但没有创建文件。我自己创建了这个文件并给了它完整的777权限,但仍然没有。

离子信息:

cli packages: (/usr/local/lib/node_modules)
    @ionic/cli-utils  : 1.19.0
    ionic (Ionic CLI) : 3.19.0
global packages:
    cordova (Cordova CLI) : 8.0.0
local packages:
    @ionic/app-scripts : 3.0.1
    Cordova Platforms  : browser 5.0.3 ios 4.5.2
    Ionic Framework    : ionic-angular 3.7.1
System:
    ios-deploy : 1.9.2
    Node       : v8.8.0
    npm        : 5.4.2
    OS         : macOS High Sierra
    Xcode      : Xcode 9.2 Build version 9C40b
Environment Variables:
    ANDROID_HOME : not set
Misc:
    backend : pro

1 个答案:

答案 0 :(得分:0)

为了帮助那些已经浏览过论坛并尝试过所有解决方案的人,除了你之外,其他所有人都可以使用console.log,我会发布我发现的内容。这不是一个完整的解决方案,但可以确定一些原因。

我将目标指定为iPad-Air。当我没有,模拟器开始在iPhone-6。这不是我想要的,但在我的控制台中是一个非常受欢迎的控制台日志消息。

所以我进行了一些实验,发现iPad-Air 10.0和iPad-Air-2 10.0及以上版本将登录到控制台,但9.3及更低版本(未经详尽测试)则不会。

所以对我来说,这个解决方案将让我继续开发livereload和console日志以及我的头发剩下的东西。

希望它也会挽救别人的脱发。

仅供参考,您可以在deployToSim函数的platforms / ios / cordova / lib / run.js中将所选设备设置为项目默认值。应该有像if (emulator.indexOf('iPhone') === 0) {这样的线换掉'iPhone'(或者它适合你)并用'iPad-Air-2,10.0'或者你需要的任何东西替换它,并在模拟器列表中提供。 ios-sim showdevicetypes

祝你好运!