J'ai mis à jour mon Xcode vers la version bêta 10 après avoir compilé une erreur avec un échec de compilation.
accéder à la base de données de construction "/Users/n/Library/Developer/Xcode/DerivedData/Build/Intermediates/XCBuildData/build.db": la base de données est verrouillée. Deux versions simultanées peuvent également s'exécuter dans le même emplacement de système de fichiers.
J'ai mon script dans les phases de construction comme ci-dessous
set -e
if [ -d "${PROJECT_DIR}/Frameworks" ]; then
rm -rf "${PROJECT_DIR}/Frameworks"
fi
mkdir "${PROJECT_DIR}/Frameworks"
#FRAMEWORKS_PATH="${PROJECT_DIR}/../Frameworks"
xcodebuild -project
"${PROJECT_DIR}/../iOS/Frameworks/sdk/SDK.xcodeproj" -scheme
"SDKAggregate" -sdk "iphoneos" -configuration "Build"
cp -r
${PROJECT_DIR}/../iOS/Frameworks/sdk/"SDK.framework"
"${PROJECT_DIR}/Frameworks"
J'ai trouvé ce lien [ Xcode 10: impossible d'attacher l'erreur DB
Mais mon cas est différent, aidez-moi s'il vous plaît Merci d'avance ..
Note: Si je choisis Nouveau système de construction, alors seulement je reçois cette erreur. Pour Legacy Build System, tout fonctionne correctement.
option 1
Comme je l'ai dit avec le système de construction Legacy, tout fonctionne correctement, mais pas avec le nouveau système de construction.
option 2
Le script supprimé et le binaire SDK ajouté manuellement à mon projet testé avec le nouveau système de construction fonctionnent correctement.
Je pense au nouveau système de compilation lorsque je construis un SDK avec l’aide d’un script qui prend deux versions simultanément et jette une erreur.
J'ai trouvé une solution, si vous exécutez votre xcodebuild à partir d'un terminal vers une cible spécifique (celle d'agrégat), ajoutez simplement l'exemple OBJROOT = "$ {OBJROOT}/DependentBuilds":
Sudo xcodebuild -project YourProject.xcodeproj -target YourProject-Universal -destination "plateforme = iOS, nom = générique/iOS" OBJROOT = "$ {OBJROOT}/DependentBuilds"
J'ai ajouté le Sudo pour permettre à Xcode de créer le répertoire DependentBuilds, mais vous pouvez modifier l'autorisation de votre dossier et cela fonctionnera.
J'ai remplacé -schema par -target et cela a bien fonctionné (cela ne pourrait fonctionner que dans mon cas particulier).
J'obtenais cette erreur en exécutant xcodebuild
à partir de Terminal. J'ai remarqué que dans DerivedData, j'avais deux dossiers pour mon projet au lieu d'un. J'ai supprimé les deux (un régénéré automatiquement) et j'ai cessé de recevoir l'erreur.
J'ai ajouté le fichier WorkspaceSettings.xcsettings
dans myProject.xcodeproj/project.xcworkspace/xcshareddata
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.Apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>BuildSystemType</key>
<string>Original</string>
</dict>
</plist>
et cela a résolu le problème