我有一个在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.
如何解决此问题?
答案 0 :(得分:6)
不确定第一个错误,但是升级到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方法作出了强烈反应,使其与以前的格式紧密耦合。
答案 1 :(得分:5)
我能够解决“找不到iPhone X模拟器”错误。
这些是解决上述错误的步骤:
运行命令 Entry *GetNewEntry(){
cout << "Enter name (ENTER to quit):";
string name = GetLine();
if (name == "") return NULL;
Entry *newOne = new Entry; // allocate in heap
newOne->name = name;
cout << "Enter address: ";
newOne->address = GetLine();
cout << "Enter phone: ";
newOne->phone = GetLine();
newOne->next = NULL; // no one follows
return newOne;
}
来找到find . -iname findMatchingSimulator.js
文件。
在此文件中,将代码更改为
findMatchingSimulator.js
到
if (simulator.availability !== '(available)' && simulator.isAvailable !== 'YES') {
continue;
}
通过执行此模拟器错误得以解决。但是还有另一个错误
if (simulator.availability !== '(available)' && simulator.isAvailable !== true) {
continue;
}
存在,这会使构建失败。如果我安装xcode 10.3并运行命令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 11中是否可以解决此问题?
答案 2 :(得分:4)
两件事:
对于Xcode 11,请确保您使用的是react-native-community / cli 最低1.9.8版本,因为它集成了针对Xcode 11模拟器的新元数据格式: / p>
https://github.com/react-native-community/cli/releases/tag/v1.9.8
此外,至少在我看来,iPhone X模拟器不再可用。您可以改用iPhone 11:
react-native run-ios --simulator='iPhone 11'
答案 3 :(得分:3)
就我而言:
react: 16.8.3
react-native: 0.59.9
Xcode: 11.0
sudo gem install cocoapods
Podfile.lock
,Pods
文件夹,build
文件夹=> cd ios && pod install
react-native run-ios
完成!答案 4 :(得分:1)
将XCode升级到版本11后,在XCode模拟器列表中,它仅显示ios 13模拟器可用,因此,我们需要添加以前的版本模拟器,为此,请在XCode中转到首选项->组件->并下载并安装先前版本的ios模拟器(在我的情况下为ios 11.0),这样做之后,它必须在可用的模拟器列表中显示其他模拟器。清除所有缓存并重新运行react-native run-ios命令,该命令现在应该可以使用了。
答案 5 :(得分:1)
尝试运行指定模拟器的版本。
react-native run-ios --simulator="iPhone 11 Pro Max"
答案 6 :(得分:0)
我将"react-native"
升级为"^0.61.1"
,并且对我有用
答案 7 :(得分:0)
我遇到了同样的问题,甚至回到了xCode 10.3...。然后我遇到了这个https://github.com/react-native-community/cli/pull/414。在我看来,他们可能已解决了该问题,并且我正在使用旧版本的CLI运行。继续删除我的锁定文件中的条目,然后运行npm install。现在工作。 CLI最高为1.11.2 https://github.com/react-native-community/cli
答案 8 :(得分:0)
运行可以在终端上运行xcrun simctl list devices
,以确保您安装了iPhone X模拟器。如果您在列表中看不到它,则需要通过Window -> Devices and Simulators -> Simulators
将其添加到Xcode中(单击左下方的+)