Xcode 10: impossible de joindre DB erreur
Lors de la mise à jour de Xcode 10, iOS statique de la bibliothèque de la cible échoue à construire. Façon que je suis en train de construire est la suivante:
xcodebuild -target TargetName -configuration Release clean build
Avec Xcode 9 tout se passe bien, mais quand Xcode 10 est utilisé pour le construire, j'obtiens le message d'erreur suivant (après le nettoyage fonctionne bien):
remarque: en Utilisant le nouveau système de construction
note: la Planification construire
remarque: Construction description du système de génération d'informations d'erreur:
impossible de joindre DB: erreur: l'accès aux base de données
"/Users/uerceg/random-chemin/build/XCBuildData/build.db: base de données est
verrouillé, Éventuellement, il y a deux concurrentes s'appuie cours d'exécution dans la même
répertoire du système de fichiers.** BUILD FAILED **
** BUILD FAILED **
La génération suivante commandes a échoué: PhaseScriptExecution
Multiplateforme\ Build
/Users/uerceg/random-path/build/Library.build/Release-iphoneos/LibraryTarget.build/Script-9DE7C9021AE68FA5001556E5.sh
(1 défaillance)
Ce probablement non, mais j'ai remarqué que les nouveaux Xcode 10 construire des indicateurs système dupliqué Copy Bundle Resource
Info.des fichiers plist comme des erreurs, donc je n'ai assurez-vous qu'il n'y a pas de dédoublement des entrées, mais probablement que cette erreur n'est pas liée à ce fait.
Quelqu'un a une idée de ce qui pourrait être mauvais?
Vous devez vous connecter pour publier un commentaire.
Bon, semblerait que j'ai réussi à le résoudre. J'ai eu
/bin/sh
script dansBuild Phases
qui tentait de mettre en place la graisse bibliothèque statique. Dans le script, j'ai euOBJROOT
chemin d'accès défini comme ceci:Semble comme Xcode 10 et le nouveau système de construction changé quelques chemins sur le chemin et cette ligne a été la source du problème. Il doit être ajusté à:
Après,
xcodebuild
parvient à construire cette cible sans problème avec le nouveau système de construction introduit dans Xcode 10.Je n'ai pas cette solution par moi-même, un grand merci à Matt Gallagher et son post ici: https://github.com/mattgallagher/CwlSignal/issues/24#issuecomment-396931001
Comme demandé par @TMin en commentaire, voici comment mon script ressemble:
Problème est dans
build_static_library
méthode dans cette ligne:Changer cette ligne:
résout le problème pour moi.
${OBJROOT}
dans mon projet)${OBJROOT}
ici??Ouvrez XCode Fichier->Paramètres du Projet
Système de Build->Héritage Système de construction
Configurer XCode de la version 10.0 paramètres de projet peut résoudre le problème.
Si vous utilisez le script de construction pour construire des sous-module de bibliothèques comme moi.
Vous devez également désactiver le nouveau système de construction dans votre script de construction explicitement en utilisant
-UseModernBuildSystem=NO
dans votre xcodebuild commande.Par exemple:
Utiliser ce script, il va il fonctionne très bien avec le nouveau système de construction
va appeler une fois de plus pour construire ainsi de suite, qui va créer la RÉCURSIVITÉ
N'oublie pas de mettre fin à votre Script Avec (fi) fin de SI la condition
L'étape 1 consiste à Détecter la RÉCURSIVITÉ et d'arrêter
RECURSION
? Et comment pouvons-nous l'arrêter? Merci.Si vous voulez garder le XCode 10 système de génération par défaut mais toujours en cours d'exécution de votre build en dehors de l'IDE (dans un IC de la machine par exemple), il suffit de remplacer votre
-target
paramètre pour la-scheme
paramètre dans votrexcodebuild
commande comme:Grâce à cette post de 2015 qui parle d'un problème similaire et il m'a donné l'astuce pour résoudre ce problème. Le même auteur dit,
J'ai les mêmes problèmes et d'essayer de tout, de la des astuces, mais cette erreur continue. Parfois, le projet est construit, la prochaine fois, il n'y a pas d'erreur. Et la solution qui me permet de modifier le schéma et couper le Paralléliser Construire. Après que tout fonctionne bien.
L'ajout d'un Propres données dérivées pas dans mes scripts de construction (avant un Xcode construire) semble résoudre le problème pour moi.
Ne sais pas si c'est lié, mais mon projet utilise Royaume (installé avec CocoaPods). C'est le GitHub question qui a inspiré le "fix" -> https://github.com/realm/realm-cocoa/issues/5812.