我正试图在我的Xcode项目中安装Carthage依赖项
Carthage bootstrap --platform iOS
命令行,但它失败了,我的终端有这条消息:
Could not find any available simulators for iOS
我刚刚用10版本更新了Xcode,然后已经安装了模拟器。
我也试图删除每一个并重新安装iOS 12。
我还有同样的错误。
对我有用的是卸载迦太基并重新安装它。
brew uninstall carthage --force
brew install carthage
升级到v0.31.1或v0.31.2修复了它:
brew update && brew upgrade carthage
安装Xcode 10.1之后,即使使用Carthage 0.31.2也遇到了麻烦。但我也习惯在安装Xcode主要版本时删除所有模拟器。为iOS 12.1添加模拟器修复了一些问题。
当一个新的xcode版本出现时,它往往会发生。如果安装了Brew,您可以尝试使用brew upgrade carthage
更新Carthage
只需升级你的迦太基。
如其他答案所示,其背后的原因是指示模拟器模型可用性的关键字在最近更新到Xcode 10.x时发生了变化。它是
"availability" : "(available)",
现在是
"isAvailable" : true,
将迦太基升级到0.33.0就可以解决这个问题。
使用brew,输入以下内容以更新Carthage
brew upgrade carthage
请注意,这个词是升级,而不是更新。
检查迦太基的版本
brew list --versions carthage
carthage 0.33.0
在项目根目录的终端中,输入此内容以重建您的Carthage依赖项。
carthage bootstrap --platform iOS
他们都应按预期建造。
您可以通过此命令检查可用模拟器的数据格式。
xcrun simctl list devices --json
试着跑
sudo brew安装 - HEAD carthage
从Xcode 10.1 beta开始,xcrun simctl list devices --json的结构发生了变化。
之前
{
"devices" : {
"iOS 12.0" : [
{
"state" : "Shutdown",
"availability" : "(available)",
"name" : "iPhone 5s",
"udid" : "A52BF797-F6F8-47F1-B559-68B66B553B23"
}
]
}
后
{
"devices" : {
"iOS 12.0" : [
{
"state" : "Shutdown",
"isAvailable" : "YES",
"name" : "iPhone 5s",
"udid" : "A52BF797-F6F8-47F1-B559-68B66B553B23"
}
]
}
由于此更改,Xcode 10.1上的解析失败。
就我而言,它已经解决了。
rm -rf ~/Library/Developer/CoreSimulator/Devices/
carthage update