ios - 更新到xcode 11.0后无法构建React Native项目




react-native core-data (4)

不确定第一个错误,但是第二个错误有相同的问题升级到XCode 11后 error Could not find iPhone X simulator

基本上,我将react native项目 /node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js 的第53行从 simulator.isAvailable !== 'YES' 更改为 simulator.isAvailable !== true

根本原因是新的XCode 11更改了模拟器元数据格式,并对本机findMatchingSimulator方法作出了强烈反应,使其与以前的格式紧密耦合。

我有一个在React Native版本0.59.8和xcode版本10.3上运行的React Native项目。 不知何故我的xcode已更新到版本11.0,之后我无法使用 react-native run-ios 命令来构建项目。

我试图清理并再次构建。 但这无济于事。

我收到以下错误:

CoreData: annotation:  Failed to load optimized model at path '/Applications/Xcode.app/Contents/Applications/Instruments.app/Contents/Frameworks/InstrumentsPackaging.framework/Versions/A/Resources/XRPackageModel.momd/XRPackageModel 9.0.omo'
error Could not find iPhone X simulator.

如何解决这个问题?


将我的XCode升级到版本11后,在XCode模拟器列表中,它仅显示ios 13模拟器可用,因此我们需要添加以前的版本模拟器,为此,请在XCode中转到首选项->组件->并下载并安装以前的版本版本ios模拟器(在我的情况下为ios 11.0),这样做之后,它必须在可用的模拟器列表中显示其他模拟器。 清除所有缓存并重新运行react-native run-ios命令,该命令现在应该可以使用了。


我将 "react-native" 升级为 "^0.61.1" ,它对我 "^0.61.1"


我能够解决“找不到iPhone X模拟器”错误。

这些是解决上述错误的步骤:

运行命令 find . -iname findMatchingSimulator.js find . -iname findMatchingSimulator.js 来查找 findMatchingSimulator.js 文件。

在此文件中,将代码从

if (simulator.availability !== '(available)' && simulator.isAvailable !== 'YES') {
        continue;
      }

if (simulator.availability !== '(available)' && simulator.isAvailable !== true) {
        continue;
      }

通过执行此模拟器,错误得以解决。 但是另一个错误

CoreData: annotation:  Failed to load optimized model at path '/Applications/Xcode.app/Contents/Applications/Instruments.app/Contents/Frameworks/InstrumentsPackaging.framework/Versions/A/Resources/XRPackageModel.momd/XRPackageModel 9.0.omo'

存在,从而使构建失败。 如果我安装了xcode 10.3并运行命令 react-native run-ios ,它仍然可以工作。 希望问题解决。 在xcode 11中是否有针对此问题的任何修复程序?





xcode11