J'essaie de pousser un pod privé. Quand je le fais, j'obtiens cette erreur:
- ERROR | [iOS] unknown: Encountered an unknown error (Could not find a
Iossimulator (valid values: ). Ensure that Xcode -> Window -> Devices has at least one
ios simulator listed or otherwise add one.) during validation.
J'utilise Xcode 1, et j'ai eu récemment (Xcode 10.1 beta sur ma machine. De plus, j'avais des cocoapodes réguliers (1.5.3) et la dernière version bêta de celle-ci (1.6.0.beta.1).
Pour réduire la complexité, je a supprimé les deux versions de ma machine. Donc, juste les versions publiées. Je vois encore cette erreur.
Je ne peux pas imaginer ce qui aurait pu se passer ici. Mais quelque chose est imparable. Je préférerais vraiment ne pas supprimer complètement Xcode, ou faire quelque chose de plus radical. Mais je suis totalement coincé.
Les autres membres de mon équipe peuvent extraire le code et faire un pod repo Push
, Mais je ne peux pas le faire à partir de ma propre machine.
Merci pour toute aide/conseil.
Si vous avez installé Xcode 10.1, _ même si Xcode 10.0 est défini comme version par défaut de Xcode, le format de sortie de simctl
a un format différent, en particulier pour la disponibilité. Le reste des champs semble être identique, mais pas celui-ci. Vous pouvez voir cet appel JSON xcrun simctl list -j
. Et les Cocoapods ne mettent pas encore à jour leur wrapper dans ce format.
J'ai préparé temporaire étape-à-spet Hotfix de ce problème. Cela fonctionne pour moi.
Dans le journal, trouvez cette ligne - ERROR | [iOS] unknown: Encountered an unknown error (Could not find a
Iossimulator (valid values: ). Ensure that Xcode -> Window -> Devices has at least one
ios simulator listed or otherwise add one.
En dessous, vous verrez cette ligne: /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
Devrait fonctionner.Si quelque chose ne fonctionne pas, répondez s'il vous plaît.
les étapes ci-dessous ont résolu mon problème pour XCode 10.X et 11Beta
Si ci-dessus ne fonctionnera pas pour votre système, suivez les 3 étapes ci-dessous, cela fonctionnera sûrement
J'ai eu cette erreur après avoir exécuté la version bêta de Xcode 10.2. Malheureusement, les réponses précédentes ne faisaient pas disparaître l'erreur. Je ne sais pas exactement ce qui a changé, mais j'ai trouvé une solution pour que cela fonctionne:
find.rb
De fourflusher
, que vous pouvez identifier à l'emplacement de l'erreur après avoir exécuté la commande pod trunk Push
. Quelque chose comme: /usr/local/lib/Ruby/gems/2.5.0/gems/fourflusher-2.0.1/lib/fourflusher/find.rb
if device['availability'] == '(available)'
os_name
Et os_version
Sont définis. Si vous regardez dans le commentaire ci-dessus, il est prévu de scinder # Sample string: iOS 9.3
En iOS
et 9.3
. Dans mon cas, ils étaient vides ou autre chose alors je les ai définis moi-même.|| device['isAvailable'] == true
En fin de compte, cette partie ressemble à ceci:
if device['availability'] == '(available)' || device['isAvailable'] == true
os_name = "iOS"
os_version = "12.1"
Simulator.new(device, os_name, os_version)
end
CECI IS N'EST PAS UNE SOLUTION PERMANENTE !!! C'est tout simplement comme cela que je l'ai obtenu pour l'instant jusqu'à ce que ce qui a changé dans la version bêta de Xcode 10.2 soit officiellement supporté par les cocoapods.
J'ai remarqué que lorsque vous exécutez xcrun simctl list -j
Sur un mac qui n'a jamais installé la version bêta, vous avez des noms tels que com.Apple.CoreSimulator.SimRuntime.iOS-12-1
Et iOS 12.1
.
Après avoir installé le Xcode 10.2, je vois toujours le com.Apple.CoreSimulator.SimRuntime.iOS-12-1
, Mais le iOS 12.1
Est parti. Je suppose que find.rb
A utilisé ce dernier pour trouver les valeurs os_name
Et os_version
. C'est pourquoi je les ai configurés moi-même.
J'espère que cela aide d'autres personnes, bonne chance!
Après l'installation de Xcode11-beta avait le même problème:
- 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.
Résolu en suivant ces étapes:
Go/Go to Folder...
/usr/local/lib/Ruby/gems
{your gem version}/gems/fourflusher-{version}/lib/fourflusher/
cd
(cd et un espace)fourflusher
(celui qui contient le fichier find.rb
)Sudo vi find.rb
i
pour pouvoir éditer le fichierdevice['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
Pour sauvegarder le fichierpod lib lint
Pour le réduire ou pod trunk Push
Pour le pousserSi vous avez mal saisi quelque chose ou si vous voulez simplement tout recommencer à zéro, vous devez désinstaller et installer fourflusher
comme avant de tout recommencer à partir de l'étape 1:
Désinstaller: Sudo gem uninstall fourflusher
Installer: Sudo gem install fourflusher
J'ai eu le même problème, mettre à jour toutes les pierres précieuses a fonctionné pour moi: Sudo gem update
J'utilisais CocoaPods
avec 1.7.1
, alors j'ai mis à jour à 1.7.2
et le problème a disparu
Sudo gem install cocoapods
même si j'essaie d'utiliser des cocoapodes $ gem insall, mais la version de cocoapodes est toujours la version basse, enfin, je trouve le moyen de mettre à jour vos cocoapodes.
$ Sudo gem install -n /usr/local/bin cocoapods --pre
et puis mon cocoapod --version
show out is 1.7.1 merveilleux donc je résous la question!
J'ai pu reproduire ce problème lorsque j'ai installé Xcode 10.1, Xcode 10.2 et CocoaPods 1.7.0.beta.3 sur mon Mac. Je cours pod lib lint MyLibrary.podspec
et j'ai le même message d'erreur que celui que vous avez mentionné dans votre question.
Fixé en exécutant Sudo xcode-select -s /Path/To/Xcode10_1.app
, où /Path/To/Xcode10_1.app
est le chemin d'accès à Xcode 10.1.
Pour vous assurer que vous utilisez la dernière version de CocoaPods, essayez bundler . Créez un fichier Gemfile avec le contenu suivant:
source 'https://rubygems.org'
gem 'cocoapods', '1.7.0.beta.3'
Après cette course bundle install && bundle exec pod repo Push
(ou toute autre action de pod).