update - ¿Cómo actualizar solo una biblioteca del Cartfile con Carthage?
carthage vs cocoapods (6)
Carthage admite la actualización de dependencias individuales ahora. Si tiene algo como esto en su Cartfile:
carthage update HockeySDK-iOS
Entonces puede actualizar solo esta dependencia ejecutando
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
Mi Cartfile tiene muchas bibliotecas.
Cuando hago la
carthage update
, pasa por todas las bibliotecas.
Eso puede llevar mucho tiempo.
¿Hay alguna manera de actualizar solo una biblioteca con carthage? ¿Algo como esto? (Esto no funcionará)
carthage update "evgenyneu/moa"
Desde la
versión 0.12, la
build
, el
checkout
y la
update
toman una lista opcional de dependencias separadas por espacios
Para un Cartfile como el siguiente
github "Alamofire/Alamofire"
github "ReactiveX/RxSwift"
Puedes elegir actualizar una dependencia
carthage update Alamofire
o dependencias múltiples
carthage update Alamofire RxSwift
Si necesita agregar banderas, agréguelas al final:
github "bitstadium/HockeySDK-iOS"
En este momento, la respuesta es no ... Si ejecuta la
carthage help update
, verá
git "ssh://[email protected]/teamname/repo-name.git" ~> 1.0
Como puede ver, no se menciona una opción para especificar solo una dependencia para actualizar.
Debería abrir un problema en el repositorio del proyecto pidiendo que lo respalde.
Intenté todas las respuestas, y para mí solo eliminé o comenté temporalmente los repositorios y después de ejecutar
carthage update --platform ios
después de restaurar el Catfile al estado anterior
Si el marco no está almacenado en GitHub, o está utilizando el identificador
git
, y su
cartfile
ve así:
carthage update repo-name
entonces puede actualizar solo aquel que ejecuta el siguiente comando
carthage update repo-name
Terminé escribiendo mi propio script que crea una dependencia única para mí y la combina con mis dependencias existentes. Puede encontrarlo en https://github.com/ruipfcosta/carthage-workarounds .