我很难让我的代码与react-native run-ios
一起使用。本机代码正在拉动javascript包的一些旧的缓存版本,我似乎无法清除它以挽救我的生命。
但是,当我从XCode运行应用程序时,应用程序运行正常。真棒!
唯一的问题是,当我通过XCode运行我的应用程序时,我似乎无法访问javascript日志。我试过react-native log-ios
,但似乎没有显示我的日志。我已经尝试过从模拟器菜单中“在Chrome中启用调试”,但是当我从XCode运行应用程序时,我无法使用此选项。
有没有人对这里发生的事情有任何想法?
答案 0 :(得分:9)
console.log
有效。默认情况下,在iOS上,它会记录到Xcode内的调试窗格。如果您从愤怒摇动菜单(⌘+^+Z)
中选择“在Chrome中调试”或“在Safari中调试”选项,它将改为登录浏览器的控制台。
从React Native 0.29开始,您只需运行以下命令即可在命令行上查看日志:
react-native log-ios
react-native log-android
cmd⌘ + D 打开调试菜单
关闭“在Safari中调试”设置,一些消息将打印到输出消息,但不会打印到控制台消息。但是,其中一条日志消息显示:
DEV === false,开发级别警告已关闭,性能优化已开启“
这是因为我之前使用以下命令将我的项目捆绑在一个真实设备上进行测试:
react-native bundle --minify
此捆绑没有“开发模式”。要允许开发消息,请包含--dev
标志:
react-native bundle --dev
console.log
消息又回来了!如果您没有捆绑真实设备,请不要忘记将jsCodeLocation
中的AppDelegate.m
重新指向localhost(我做过!)。
答案 1 :(得分:4)
自{RN .50以来,react-native log-ios
似乎不再起作用
您可以改用react-native-log-ios
npm包
npm i -g react-native-log-ios
然后
react-native-log-ios <XCode Project Name>
答案 2 :(得分:0)
如果您关闭设备上的应用程序(以便 XCode 显示它已停止)然后再次启动应用程序(通过设备,而不是使用 XCode),控制台日志将转到终端(假设 Metro 正在运行) .
当然,你不会得到 XCode 调试日志,对于我的需要,这很好。