J'essaie d'installer Realm sur mon projet en utilisant Carthage. Il fonctionnait avant mais après le passage au nouveau MacBook Pro (15 pouces, 2018, TouchBar), j'obtiens l'erreur suivante,
carthage update --no-use-binaries --platform iOS
*** Fetching realm-cocoa
*** Checking out realm-cocoa at "v3.13.0"
*** xcodebuild output can be found in /var/folders/m4/1z0tvn6d67q2rqwcjvndy80m0000gn/T/carthage-xcodebuild.2vfx4v.log
*** Building scheme "Realm" in Realm.xcworkspace
Could not find any available simulators for iOS
J'ai essayé de désinstaller et réinstaller Carthage (0.31.2) et j'ai suivi les étapes données dans ces réponses,
Question de dépassement de pile
Correction et libération de Carthage
xcrun simctl list devices --json
{
"availability" : "(available)",
"state" : "Shutdown",
"isAvailable" : true,
"name" : "iPad Pro",
"udid" : "94790E33-EA0A-40B4-BA0A-19CC8D976A6F",
"availabilityError" : ""
}
Déboguer Carthage
(lldb) po devices[latestOSName]?.first { $0.isAvailable }
▿ Optional<Simulator>
▿ some : Simulator
- isAvailable : true
- name : "iPhone 5s"
- udid : 87A9C887-034C-44A8-8F30-C90AF9ACCBCC
(lldb) po sdk.platform
XCDBLD.Platform.iOS
(lldb) po sdk.platform.rawValue
"iOS"
Il semble que ce problème existe toujours. Existe-t-il un moyen de résoudre ce problème pour qu'il fonctionne sur la dernière version de Xcode?
Peut-être quelques vérifications que vous pouvez faire pour le réduire un peu:
Version Carthage
carthage version
devrait sortir
0.31.2
Plusieurs Xcode installés
xcode-select -p
devrait donner
/Applications/Xcode.app/Contents/Developer
pour une installation standard.
Simulateur
xcrun simctl list devices --json
Cela devrait produire une liste comme:
{
"devices" : {
"iOS 12.1" : [
{
"availability" : "(available)",
"state" : "Shutdown",
"isAvailable" : true,
"name" : "iPhone 5s",
"udid" : "1A6959A0-C10F-474B-96C5-7E8955FBDD80",
"availabilityError" : ""
},
...
S'il n'y a pas de simulateurs, ajoutez-en un en utilisant Xcode <Fenêtre/Périphériques et simulateurs>.
S'il y a des entrées, veuillez vérifier s'il y a une entrée 'isAvailable' avec true
comme valeur:
"isAvailable" : true,
Sinon, vérifiez l'installation de Xcode.
Supprimer les caches
On pourrait aussi essayer de
Comme toujours lors de l'utilisation de rm -rf
tu dois être prudent:
rm -rf ~/Library/Caches/org.carthage.CarthageKit
rm -rf <your project folder>/Carthage
xcrun simctl delete unavailable
Réessayez ensuite:
carthage update --no-use-binaries --platform iOS
Débogage Carthage
La bonne chose à propos de Carthage est qu'il est open source et même écrit en swift.
Donc, pour le déboguer, nous pouvons:
Ensuite:
git clone https://github.com/Carthage/Carthage.git
cd Carthage
git checkout 0.31.2
make bootstrap
open Carthage.xcworkspace
Ensuite, nous devons entrer des arguments de ligne de commande. Faire cela:
update --no-use-binaries --platform iOS
Finalement:
selectAvailableSimulator
Ensuite, vous pouvez déboguer ce qui ne va pas.
Si tout va bien, cela ressemblerait à ceci:
Si aucune erreur ne s'est produite lors de l'exécution à partir de Xcode, laissez-le s'exécuter complètement dans Xcode sans point d'arrêt et laissez-lui le temps de faire la compilation.
Si la mise à jour de carthage réussit à partir du projet Xcode, désinstallez votre installation de carthage actuelle comme décrit ici.
Comment désinstaller Carthage d'OS X?
Ensuite, dans Terminal, accédez au dossier du projet Carthage où réside le Makefile et tapez:
'make install'
Vous pouvez ensuite l'essayer à nouveau à partir de la ligne de commande. Ça devrait marcher!
J'ai résolu ce même problème lors de la mise à niveau de Carthage vers la version 0.32.0 avec:
brew upgrade carthage
PS: un problème est survenu après la mise à jour de Xcode vers la version 10.2
J'ai résolu ce même problème lors de la mise à niveau de Carthage 0.31.2 vers 0.33.0 avec:
brew upgrade carthage
PS: un problème est survenu après la mise à jour de Xcode vers la version 10.2
Essayez d'installer une version précédente de carthage
brew install carthage 0.30.1