【问题标题】:Xcode 10 Could not find any available simulators for iOS when install Carthage dependenciesXcode 10 安装 Carthage 依赖项时找不到任何适用于 iOS 的模拟器
【发布时间】:2019-03-10 01:49:15
【问题描述】:

我正在尝试在我的 Xcode 项目中安装 Carthage 依赖项

Carthage bootstrap --platform iOS 

命令行但它失败了,我的终端中有这条消息:

Could not find any available simulators for iOS

我刚刚用 10 版本更新了 Xcode,然后模拟器已经安装了。

我也尝试过删除每一个,然后在 iOS 12 中只重新安装一个。

我仍然有同样的错误。

【问题讨论】:

  • 不确定这是否与您相关,但是,这“似乎”是 10.1 的一个问题......是的,一旦你安装了它,你似乎什么也做不了修复它☹️查看this issue了解更多详情
  • 我通过 App Store 安装了 Xcode10.0,但问题依旧。
  • 我也在 Xcode 9.4.1 和 Carthage v 0.31.0 上得到了这个。 Xcode-select 确实显示选择了 Xcode 9 的构建工具。任何调用构建的 Carthage 命令都会向我显示这一点,而不仅仅是 bootstrap.
  • 我一直有这个问题,升级到 v0.31.1 解决了。
  • 最新的 Carthage (0.34) 出现问题

标签: xcode ios-simulator carthage


【解决方案1】:

对我有用的是卸载 Carthage 并重新安装。

brew uninstall carthage --force
brew install carthage

【讨论】:

  • 只升级迦太基。 brew upgrade carthage
  • @AlexZavatone 如果有新版本就可以了。否则,您需要使用我提到的技巧。
  • Tomas,之所以会这样,是因为一个新版本改变了数据的格式。
  • Alex,那么您可能遇到了不同的问题,因为升级不起作用。
  • 有趣。这实际上是我面临的确切问题。嗯。我想知道什么没用,Tomáš。在引擎盖下要跟踪的东西太多了。现在,如果安装did 工作,我们会期望升级grade(不是更新)也能正常工作,因为它应该安装相同的东西。啊。你还记得你重新安装时安装的版本吗?
【解决方案2】:

升级到 v0.31.1 或 v0.31.2 修复它:

brew update && brew upgrade carthage

【讨论】:

    【解决方案3】:

    安装 Xcode 10.1 后,即使是 Carthage 0.31.2,我也遇到了麻烦。但是我也有安装Xcode大版本时删除所有模拟器的习惯。为 iOS 12.1 添加一个模拟器修复了一些东西。

    【讨论】:

    • 只升级迦太基。 brew upgrade carthage
    【解决方案4】:

    当一个新的 xcode 版本出现时,它往往会发生。如果安装了 Brew,您可以尝试使用 brew upgrade carthage 更新 Carthage

    【讨论】:

      【解决方案5】:

      只需升级您的迦太基。

      正如其他答案中所指出的,这背后的原因是在最近对 Xcode 10.x 的更新中,指示模拟器模型可用性的键发生了变化。原来是

      "availability" : "(available)",
      

      现在是

      "isAvailable" : true,
      

      将 Carthage 升级到 0.33.0 可以解决此问题。

      使用brew,输入以下内容更新Carthage

      brew upgrade carthage
      

      注意这个词是升级grade,而不是更新。

      查看迦太基的版本

      brew list --versions carthage
      

      carthage 0.33.0

      然后在项目根目录的终端中,输入此内容以重建 Carthage 依赖项。

      carthage bootstrap --platform iOS
      

      它们都应该按预期构建。

      您可以通过该命令查看可用模拟器的数据格式。

      xcrun simctl list devices --json

      【讨论】:

        【解决方案6】:

        尝试运行

        sudo brew install --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 上的解析失败。

        【讨论】:

          【解决方案7】:

          卸载和安装 Carthage 技巧对我有用!

          brew uninstall carthage —force
          

          brew install carthage
          

          【讨论】:

          • 只升级迦太基。 brew upgrade carthage
          【解决方案8】:

          在我的情况下,它已经解决了。

          1. 关闭xcode
          2. rm -rf ~/Library/Developer/CoreSimulator/Devices/
          3. 打开xcode
          4. 创建新项目
          5. 在任何模拟器上运行空项目
          6. 执行carthage update

          【讨论】:

          • 除此之外,Xcode 不会自动安装任何模拟器,并且按照您的步骤安装后,您的 sim 安装会损坏。
          猜你喜欢
          • 2019-05-29
          • 2021-01-12
          • 2019-04-02
          • 1970-01-01
          • 2019-03-04
          • 2018-12-27
          • 2017-02-08
          • 2016-01-21
          • 1970-01-01
          相关资源
          最近更新 更多