【问题标题】:Testing an iOS release build on a USB connected device在 USB 连接的设备上测试 iOS 版本构建
【发布时间】:2021-03-23 19:21:59
【问题描述】:
如果我的 React Native XCode 项目的运行方案配置了“调试”构建配置,它可以正常工作。
使用“Release”配置,它无法连接到捆绑器(我得到“Invariant Violation”,它表示找不到 Metro)。
我需要测试发布版本,因为应用在 TestFlight 中崩溃。
是否可以在 USB 连接的设备上测试 iOS 版本?
【问题讨论】:
标签:
reactjs
xcode
react-native
metro-bundler
【解决方案1】:
是的。是的,这很奇怪。我确定你有 scoped the docs,但如果是我,我会:
- 退出所有当前正在运行的 Metro 实例。
- 从你的 react native 项目目录运行
npm start。
- 然后尝试运行您的应用,并将构建配置设置为
release。
如果仍然无法正常工作,我会尝试其他一些方法:
- 正在运行
npm start --reset-cache
- 创建一个新的空 React Native 应用程序并尝试使用
release 构建配置运行它。只是为了排除任何特定项目。
如果这些都没有帮助,请告诉我你在哪里,我会看看是否还有其他想法。
祝你好运
【解决方案2】:
这归结为我的构建配置中的一个错误,如果有人发现它有用,我会在这里发布。
在主应用程序目标的“构建阶段”中,在“捆绑 React Native 代码和图像”阶段我有一行:
export ENTRY_FILE=index.share.js
这应该在扩展程序的配置中,而不是主应用程序中。
这不仅是发布测试不起作用的原因,也是 TestFlight 崩溃的原因。