React native React本机应用程序未显示console.logs()

React native React本机应用程序未显示console.logs(),react-native,React Native,在发布应用程序进行生产后,我发现无论我尝试了什么,我都无法再查看console.log了 我试图重现这个问题: 已安装最新版本的npm 使用“创建反应本机应用”创建新应用。 添加了调用console.log的简单按钮 Console.log在IOS模拟器中工作 运行npm运行弹出。 打开Xcode项目并从内部运行。Console.log仍在工作。 已从NSExceptionDomains中删除localhost条目。 已编辑的方案->运行->从调试更改为发布 将jsCodeLocation更改为

在发布应用程序进行生产后,我发现无论我尝试了什么,我都无法再查看console.log了

我试图重现这个问题:

已安装最新版本的npm 使用“创建反应本机应用”创建新应用。 添加了调用console.log的简单按钮 Console.log在IOS模拟器中工作 运行npm运行弹出。 打开Xcode项目并从内部运行。Console.log仍在工作。 已从NSExceptionDomains中删除localhost条目。 已编辑的方案->运行->从调试更改为发布 将jsCodeLocation更改为jsCodeLocation=[[NSBundle mainBundle]URLForResource:@main,扩展名:@jsbundle]; 重建的应用程序。Console.log不再显示,但应用程序已加载。
这正是应用程序已准备好生产的时候,根据《事后诸葛亮》的指导原则,生产版本不显示console.logs可能是有道理的,但我仍在发布这篇文章,以防它对其他人有所帮助

如果有人,像我一样,想要返回console.logs,只需执行与本教程相反的操作即可。严格按照以下步骤将应用程序恢复到console.logs将显示以下内容的状态:

在Xcode中,转到产品->方案->编辑方案->运行->将构建配置设置为调试 在AppDelegate.m中,将jsCodeLocation更改为jsCodeLocation=[[RCTBundleURLProvider sharedSettings]jsBundleURLForBundleRoot:@index fallbackResource:nil]; 最后,在您的Info.plist中,通过右键单击然后选择您选择的文本编辑器,添加下面的代码使用文本编辑器(而不是Xcode): 代码:

关闭所有终端窗口,清理项目,关闭Xcode,关闭模拟器,然后再次启动Xcode并重建项目。console.log将返回

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSExceptionDomains</key>
    <dict>
        <key>localhost</key>
        <dict>
            <key>NSExceptionAllowsInsecureHTTPLoads</key>
            <true/>
        </dict>
    </dict>
</dict>