web-dev-qa-db-fra.com

Swift Gestionnaire de packages - Résolvez la commande Terminal de versions de package

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.

enter image description here

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.

8
Cloud9999Strife

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
0
GianPac