Je veux remplacer les cocoapodes avec SPM. J'ai décidé de y aller une bibliothèque à la fois. J'ai supprimé la bibliothèque Swinject de Cocoapodes et l'a ajouté via File->Swift Packages->Add Package Dependency
Cela a été réussi et le projet construit et couru comme prévu.
J'ai ensuite demandé à d'autres personnes de mon équipe de vérifier la succursale et de voir s'ils peuvent construire le projet de leur côté sans problème. Nous avons ensuite couru dans l'erreur "Paquet manquant" Swinject '". Nous avons résolu cette erreur en effectuant File->Swift Packages->Resolve Package Versions
en xcode.
J'ai besoin de faire fonctionner cela sur le serveur de construction également. J'ai essayé de taper Swift package --help
Dans l'application Terminal pour voir quelles commandes sont disponibles. La commande resolve
avait l'air prometteuse de sorte que j'ai essayé cela en vain. (Erreur: manifeste racine introuvable)
Donc, ma question alors, y a-t-il une commande de terminal qui fait la même chose que File->Swift Packages->Resolve Package Versions
?
Remarque: lorsque j'ai ajouté la bibliothèque 3ème partie via SPM, elle a créé un fichier pour moi: Proj.xcworkspace/xcshareddata/swiftpm/Package.resolved
. Il a également fait diverses modifications apportées à la Proj.xcodeproj/project.pbxproj
fichier. Non package.Swift
fichier a été créé.
Mise à jour : Le plus proche que je suis arrivé à une réponse était que je devrais essayer xcodebuild -resolvePackageDependencies
, malheureusement, la commande ne fait pas la même chose que File->Swift Packages->Resolve Package Versions
.
D'après ce que j'ai vu, il y a 2 fichiers packages.Resolved. Un sur l'espace de travail et un sur le projet. Pour une raison quelconque, l'espace de travail a de vieilles versions des colis et de la course à pied
xcodebuild -resolvePackageDependencies -workspace myworkspace.xcworkspace -scheme my scheme
ne marche pas. Toutefois, la résolution du projet (puisque le package du projet.Resolved a les forfaits corrects, les informations de version) fonctionnent
xcodebuild -resolvePackageDependencies -project myproject.xcodeproj -scheme my scheme