web-dev-qa-db-fra.com

Comment mettre à jour une seule bibliothèque du Cartfile avec Carthage?

Mon Cartfile a de nombreuses bibliothèques. Quand je fais carthage update il passe par toutes les bibliothèques. Cela peut prendre très longtemps.

Est-il possible de mettre à jour une seule bibliothèque avec carthage? Quelque chose comme ça? (cela ne fonctionnera pas)

carthage update "evgenyneu/moa"
68
Evgenii

De version 0.12build, checkout et update prennent une liste optionnelle de dépendances séparées par des espaces

Pour un Cartfile comme celui-ci

github "Alamofire/Alamofire"
github "ReactiveX/RxSwift"

Vous pouvez choisir de mettre à jour une dépendance

carthage update Alamofire

ou plusieurs dépendances

carthage update Alamofire RxSwift
110
Alex Salom

Carthage prend maintenant en charge la mise à jour de dépendances uniques. Si vous avez quelque chose comme ceci dans votre Cartfile:

github "bitstadium/HockeySDK-iOS"

Ensuite, vous ne pouvez mettre à jour que cette dépendance en exécutant

carthage update HockeySDK-iOS
10
user978510

En ce moment, la réponse est non ... Si votre course carthage help update tu verras

Update and rebuild the project's dependencies

[--configuration Release]
    the Xcode configuration to build (ignored if --no-build option is present)

[--platform all]
    the platform to build for (ignored if --no-build option is present)

[--verbose]
    print xcodebuild output inline (ignored if --no-build option is present)

[--no-build]
    skip the building of dependencies after updating

[--use-ssh]
    use SSH for downloading GitHub repositories

[--use-submodules]
    add dependencies as Git submodules

[--no-use-binaries]
    check out dependency repositories even when prebuilt frameworks exist (ignored if --no-build option is present)

[--color auto]
    whether to apply color and terminal formatting (one of ‘auto’, ‘always’, or ‘never’)

[/path/to/your/app]
    the directory containing the Carthage project

Comme vous pouvez le constater, il n’est pas fait mention d’une option permettant de spécifier une seule dépendance à mettre à jour.

Vous devriez ouvrir un numéro sur le dépôt du projet demander à soutenir cela.

8
mokagio

Si la structure n'est pas stockée dans GitHub, ou si vous utilisez l'identifiant git, et que votre cartfile ressemble à ceci:

git "ssh://[email protected]/teamname/repo-name.git" ~> 1.0

alors vous pouvez mettre à jour que celui qui exécute la commande suivante

carthage update repo-name
6
SeanRobinson159

J'ai essayé toutes les réponses, et pour moi seulement retirer ou commenter temporairement les dépôts et après avoir exécuté

carthage update --platform ios

après avoir restauré le fichier Catfile à son état précédent

6

J'ai fini par écrire mon propre script qui construit une dépendance pour moi et le fusionne avec mes dépendances existantes. Vous pouvez le trouver sur https://github.com/ruipfcosta/carthage-workarounds .

4
Rui