Xcode 椰子荚可以';找不到模拟器,pod repo推送失败

Xcode 椰子荚可以';找不到模拟器,pod repo推送失败,xcode,cocoapods,Xcode,Cocoapods,我想推一个私人吊舱。当我这样做时,我会出现以下错误: -错误|[iOS]未知:在验证期间遇到未知错误(找不到iOS模拟器(有效值:)。请确保Xcode->Window->Devices至少列出了一个iOS模拟器,或者添加一个。 我正在运行xcode10,最近我的机器上有xcode10.1beta。 另外,我有常规的CoCoapod(1.5.3)和最新的beta版(1.6.0.beta.1) 为了降低复杂性,我从我的机器中删除了两个beta。所以,只是发布的版本。我仍然看到这个错误 我无法想象这里

我想推一个私人吊舱。当我这样做时,我会出现以下错误:

-错误|[iOS]未知:在验证期间遇到未知错误(找不到
iOS
模拟器(有效值:)。请确保Xcode->Window->Devices至少列出了一个
iOS
模拟器,或者添加一个。

我正在运行xcode10,最近我的机器上有xcode10.1beta。 另外,我有常规的CoCoapod(1.5.3)和最新的beta版(1.6.0.beta.1)

为了降低复杂性,我从我的机器中删除了两个beta。所以,只是发布的版本。我仍然看到这个错误

我无法想象这里会发生什么。但有些事情不正常。我真的不想完全删除Xcode,或者做其他更激烈的事情。但我完全被卡住了

我的团队中的其他人能够提取代码,并执行
pod repo推送
,但我不能从自己的机器上执行


感谢您的帮助/建议。

如果您安装了Xcode 10.1,即使Xcode 10.0被设置为Xcode的默认版本,来自
simctl
的输出也有不同的格式,特别是针对可用性。其余字段似乎是相同的,只是不是这个字段。您可以看到这个JSON调用
xcrunsimctl list-j
。CoCoapod还没有将包装器更新为这种格式

我准备了临时步骤来加速此问题的修补程序。这对我有用

在日志中查找此行
-错误|[iOS]未知:遇到未知错误(找不到
iOS
模拟器(有效值:)。请确保Xcode->Window->Devices至少列出了一个
iOS
模拟器,或者添加一个。

在它下面你会看到这样一行:
/usr/local/lib/ruby/gems/2.5.0/gems/fourflusher-2.0.1/lib/fourflusher/find.rb

  • 复制此文件的名称并调用:
    sudo vi/usr/local/lib/ruby/gems/2.5.0/gems/fourflusher-2.0.1/lib/fourflusher/find.rb
  • I
  • 在文件末尾,查找以
    模拟器开头的行。新建(设备、操作系统名称、操作系统版本)
  • 如果设备['availability']='(availability)]['isAvailable']='YES'
  • :wq
  • pod-trunk推你的库。podspec
    应该可以工作
  • 如果有些东西不起作用,请回复

    上述解决方案将适用于特定的Xcode版本。
    您可以从中复制并替换整个内容,而不是编辑文件。

    我在运行Xcode 10.2 beta版后出现此错误。不幸的是,前面的答案并没有消除此错误。我不知道具体更改了什么,但我找到了一个解决方法使其正常工作:

  • 查找
    fourflusher
    Find.rb
    ,运行
    pod trunk push
    命令后,您可以通过错误位置来判断。类似于:
    /usr/local/lib/ruby/gems/2.5.0/gems/fourflusher-2.0.1/lib/fourflusher/Find.rb
  • 如果设备['availability']='(availability)
  • 请确保设置了
    os\u名称
    os\u版本
    。如果您查看上面的注释,它会将
    #示例字符串:iOS 9.3
    分为
    iOS
    9.3
    。在我的情况下,它们是空的,或者其他一些东西,所以我自己设置它们
  • 还可以对照true检查可用性:
    | |设备['isAvailable']==true
  • 最后,该部分如下所示:

    if device['availability'] == '(available)' || device['isAvailable'] == true
      os_name = "iOS"
      os_version = "12.1"
      Simulator.new(device, os_name, os_version)
    end
    
    这不是一个永久的解决方案!!! 直到Xcode 10.2 beta版中发生的变化得到cocoapods的正式支持之前,我一直都是这么做的

    我注意到,当你在从未安装测试版的mac电脑上运行
    xcrun simctl list-j
    时,你的操作系统名称像
    com.apple.CoreSimulator.SimRuntime.iOS-12-1
    iOS 12.1

    在安装Xcode 10.2之后,我仍然可以看到
    com.apple.CoreSimulator.SimRuntime.iOS-12-1
    ,但是
    iOS 12.1
    一个不见了。我假设
    find.rb
    使用后者来查找
    os\u name
    os\u version
    值。 这就是我自己设置它们的原因


    希望这能帮助其他人,祝你好运!

    执行以下步骤,它解决了我在XCode 10.X和11.X中遇到的问题

  • sudo gem更新cocoapods
  • 如果上述步骤不适用于您的系统,请遵循以下3个步骤,它肯定会起作用

  • sudo gem卸载四冲洗器
  • sudogem安装四冲洗器
  • sudo gem更新cocoapods

  • 当我在Mac上安装Xcode 10.1、Xcode 10.2和CocoaPods 1.7.0.beta.3时,我能够重现这个问题。我运行了
    pod lib lint MyLibrary.podspec
    ,得到了与您在问题中提到的相同的错误消息

    通过运行sudo xcode select-s/Path/To/Xcode10_1.app修复了该问题,其中
    /Path/To/Xcode10_1.app
    是xcode 10.1的路径

    要确保您使用的是最新的CocoaPods版本,请尝试使用以下内容创建Gemfile:

    source 'https://rubygems.org'
    gem 'cocoapods', '1.7.0.beta.3'
    

    运行后,bundle install和bundle exec pod repo push(或任何其他pod操作)。

    即使我尝试在所有cocoapods中使用$gem,但cocoapods版本仍然是低版本,最后我找到了更新cocoapods的方法

    $ sudo gem install -n /usr/local/bin cocoapods --pre 
    
    然后我的
    cocoapod--
    版本显示为1.7.1
    太好了,所以我解决了这个问题!

    在安装Xcode11测试版之后,出现了同样的问题:

    -错误|[iOS]未知:遇到未知错误(找不到AIOSimulator(有效值:)。请确保Xcode->Window->Devices至少有一个iOS模拟器
    
    devices.map do |device|
              if device['availability'] == '(available)' || device['isAvailable'] == 'YES' || device['isAvailable'] == true
                Simulator.new(device, os_name, os_version)
              end
            end
    
    sudo gem install cocoapods