【问题标题】:React Native: Can't see console.logs when I run application from XCodeReact Native:当我从 XCode 运行应用程序时看不到 console.logs
【发布时间】:2017-02-23 03:37:04
【问题描述】:

我正在努力让我的代码与react-native run-ios 一起工作。本机代码正在提取 javascript 包的一些旧缓存版本,我似乎无法清除它以挽救我的生命。

但是,当我从 XCode 运行应用程序时,应用程序运行良好。太棒了!

唯一的问题是,当我通过 XCode 运行我的应用程序时,我似乎无法访问 javascript 日志。我试过react-native log-ios 但这似乎没有显示我的日志。我已尝试从模拟器菜单中“在 Chrome 中启用调试”,但当我从 XCode 运行应用程序时,此选项对我不可用。

有人对这里可能发生的事情有任何想法吗?

【问题讨论】:

  • 这里也一样。但它说NOTE: Most system logs have moved to a new logging system. See log(1) for more information.。我知道 log(1) 是什么。
  • 在另一篇类似的帖子中查看我的答案link

标签: ios xcode react-native


【解决方案1】:

选项 #1

console.log 有效。默认情况下,在 iOS 上,它会记录到 Xcode 中的调试窗格。如果您从狂暴菜单(⌘+^+Z) 中选择“在 Chrome 中调试”或“在 Safari 中调试”选项,它将改为登录到浏览器的控制台。

选项 #2

从 React Native 0.29 开始,您将能够简单地运行以下命令来查看命令行上的日志:

react-native log-ios
react-native log-android

选项#3

  1. cmd ⌘ + D 调出调试菜单

  2. 关闭“在 Safari 中调试”,一些消息将被打印到输出消息,但不是控制台消息。但是,其中一条日志消息说:

    DEV === false,开发级警告关闭,性能优化开启”

    这是因为我之前捆绑了我的项目,以便使用以下命令在真实设备上进行测试:

    react-native bundle --minify
    

    这个捆绑没有“开发模式”。要允许开发消息,请包含 --dev 标志:

    react-native 包 --dev

    console.log 消息又回来了!如果您不捆绑真实设备,请不要忘记将AppDelegate.m 中的jsCodeLocation 重新指向本地主机(我做过!)。

【讨论】:

  • 在问题中,我提到我尝试了这两种方法,但似乎都不适合我。
  • 顺便说一句,我在 react-native 0.29.2
  • @Annie Gupta 当我从 x-code 运行代码到设备时,如何调试
【解决方案2】:

似乎react-native log-ios 自 RN .50 起不再工作 你可以改用react-native-log-ios npm 包

npm i -g react-native-log-ios

然后

react-native-log-ios <XCode Project Name>

【讨论】:

    【解决方案3】:

    如果您关闭设备上的应用程序(以便 XCode 将其显示为已停止)然后再次启动应用程序(通过设备,而不是使用 XCode),控制台日志将转到终端(假设 Metro 正在运行) .

    当然,你不会得到 XCode 调试日志,这对我来说很好。

    【讨论】:

      猜你喜欢
      • 2021-12-09
      • 1970-01-01
      • 2019-12-28
      • 2019-03-02
      • 1970-01-01
      • 2021-11-11
      • 1970-01-01
      • 2015-05-31
      • 1970-01-01
      相关资源
      最近更新 更多