プライベートポッドをプッシュしようとしています。実行すると、次のエラーが表示されます。
- ERROR | [iOS] unknown: Encountered an unknown error (Could not find a
iossimulator (valid values: ). Ensure that Xcode -> Window -> Devices has at least one
iossimulator listed or otherwise add one.) during validation.
私はXcode 1、andを実行しています。最近、マシンでXcode 10.1 betaを使用しました。また、定期的なココアポッド(1.5.3)とその最新のベータ版(1.6.0.beta.1)がありました。
複雑さを減らすために、私は両方のベータ版を削除私のマシンから。したがって、リリースされたバージョンだけです。まだこのエラーが表示されます。
ここで何が起きたのか想像できません。しかし、somethingは破壊されています。 Xcodeを完全に削除するnotを本当に好むか、またはもっと抜本的なことをしたいと思います。しかし、私は完全に立ち往生しています。
私のチームの他の人々はコードを引き出し、pod repo Push
を実行できますが、自分のマシンからはできません。
ヘルプ/アドバイスをありがとう。
Xcode 10.1がインストールされている場合、_Xcode 10.0がXcodeのデフォルトバージョンとして設定されている場合でも、simctl
からの出力は、特に可用性のために異なる形式になります。残りのフィールドは同じように見えますが、これだけではありません。このJSON呼び出しxcrun simctl list -j
を見ることができます。また、Cocoapodsはまだラッパーをこの形式に更新していません。
temporary step-to-spetこの問題の修正プログラムを準備しました。それは私のために働いています。
ログでこの行を見つけます- ERROR | [iOS] unknown: Encountered an unknown error (Could not find a
iossimulator (valid values: ). Ensure that Xcode -> Window -> Devices has at least one
iossimulator listed or otherwise add one.
その下に次のような行が表示されます:/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
を押しますSimulator.new(device, os_name, os_version)
....で始まる行を見つけます.Simulator.new(device, os_name, os_version) if device['availability'] == '(available)' || device['isAvailable'] == 'YES'
に置き換えます:wq
を押しますpod trunk Push YourLibrary.podspec
は動作するはずです。何かが機能しない場合は、返信してください。
XCode 10.Xおよび11Betaの問題を解決した以下の手順を実行
上記でシステムが機能しない場合は、以下の3つの手順に従ってください。確実に機能します
Xcode 10.2ベータ版の実行後にこのエラーが発生しました。残念ながら、以前の回答ではエラーは消えませんでした。何が変わったのか正確にはわかりませんが、動作させるための回避策を見つけました。
find.rb
of fourflusher
を見つけて、pod trunk Push
コマンドを実行した後、エラーの場所で確認できます。次のようなもの:/usr/local/lib/Ruby/gems/2.5.0/gems/fourflusher-2.0.1/lib/fourflusher/find.rb
if device['availability'] == '(available)'
の周りのファイルの最後に移動しますos_name
とos_version
が設定されていることを確認してください。上記のコメントを見ると、# Sample string: iOS 9.3
をiOS
と9.3
に分割することが期待されています。私の場合、それらは空か何かでしたので、自分で設定しました。|| device['isAvailable'] == true
最終的に、その部分は次のようになります。
if device['availability'] == '(available)' || device['isAvailable'] == true
os_name = "iOS"
os_version = "12.1"
Simulator.new(device, os_name, os_version)
end
これはIS永続的な解決策ではありません!!! Xcode 10.2ベータ版で変更されたものがcocoapodsによって公式にサポートされるまで、それが今のところ動作するようになった方法です。
ベータをインストールしたことのないMacでxcrun simctl list -j
を実行すると、com.Apple.CoreSimulator.SimRuntime.iOS-12-1
やiOS 12.1
などのos名があります。
Xcode 10.2をインストールした後、com.Apple.CoreSimulator.SimRuntime.iOS-12-1
が表示されますが、iOS 12.1
が表示されません。 find.rb
はos_name
とos_version
の値を見つけるために後者を使用したと仮定しています。これが私がそれらを自分で設定した理由です。
これが他の人に役立つことを願っています、幸運を!
Xcode11-betaをインストールした後、同じ問題が発生しました。
- ERROR | [iOS] unknown: Encountered an unknown error (Could not find aiossimulator (valid values: ). Ensure that Xcode -> Window -> Devices has at least oneiossimulator listed or otherwise add one.) during validation.
次の手順に従って解決しました。
Go/Go to Folder...
を選択します/usr/local/lib/Ruby/gems
に貼り付け{your gem version}/gems/fourflusher-{version}/lib/fourflusher/
に移動しますcd
(cdおよびスペース)を入力しますfourflusher
フォルダー(find.rb
ファイルがあるフォルダー)をドラッグアンドドロップしますSudo vi find.rb
と入力しますi
と入力しますdevice['availability'] == '(available)' || device['isAvailable'] == 'YES'
が表示されるまでファイルを下にスクロールします|| device['isAvailable'] == true
devices.map do |device|
if device['availability'] == '(available)' || device['isAvailable'] == 'YES' || device['isAvailable'] == true
Simulator.new(device, os_name, os_version)
end
end
:wq
と入力して、ファイルを保存しますpod lib lint
を実行してリントするか、pod trunk Push
を実行してプッシュします何か間違った入力をした場合、または最初からやり直したい場合は、ステップ1からすべてを開始する前に、fourflusher
をアンインストールしてインストールする必要があります。
アンインストール:Sudo gem uninstall fourflusher
インストール:Sudo gem install fourflusher
私は同じ問題を抱えていたので、すべてのgemを更新してくれました:Sudo gem update
1.7.1
でCocoaPods
を使用していましたが、1.7.2
に更新しましたが、問題はなくなりました
Sudo gem install cocoapods
私も$ gem insall cocoapodsを使用しようとしますが、cocoapodsのバージョンは依然として低バージョンです。
$ Sudo gem install -n /usr/local/bin cocoapods --pre
そして、私のcocoapod --version
ショーは1.7.1素晴らしいので、質問を修正します!
Xcode 10.1、Xcode 10.2、およびCocoaPods 1.7.0.beta.3をMacにインストールしたときに、この問題を再現できました。 pod lib lint MyLibrary.podspec
を実行すると、質問で述べたのと同じエラーメッセージが表示されました。
Sudo xcode-select -s /Path/To/Xcode10_1.app
を実行して修正しました。/Path/To/Xcode10_1.app
はXcode 10.1へのパスです。
最新のCocoaPodsバージョンを使用していることを確認するには、 bundler を試してください。次のコンテンツでGemfileを作成します。
source 'https://rubygems.org'
gem 'cocoapods', '1.7.0.beta.3'
その後、bundle install && bundle exec pod repo Push
(または他のポッドアクション)を実行します。