tag create github cocoapods git-fork

create - Tenedores CocoaPods y GitHub



git push tag (2)

Otra opción es hacer que su proyecto haga referencia al pod directamente y no a través de github. De esta forma, no tiene que seguir cometiendo su fork o copiar / pegar código solo para probar sus cambios. Puede trabajar con dos proyectos diferentes de Xcode simultáneamente y comprometerse por separado en sus respectivos proyectos.

pod ''AFNetworking'', :path => ''~/Documents/AFNetworking''

Documentación de CocoaPods: http://guides.cocoapods.org/using/the-podfile.html#using-the-files-from-a-folder-local-to-the-machine

Esta es la primera vez que hago un proyecto de GitHub, y tampoco soy demasiado competente con CocoaPods, así que por favor tengan paciencia conmigo.

Básicamente, bifurqué un proyecto en GitHub usando lo siguiente en mi Podfile :

pod ''REActivityViewController'', ''~> 1.6.7'', :git => ''https://github.com/<username>/REActivityViewController.git''

Luego hice algunos cambios en el tenedor, y por supuesto cuando hice una pod install para instalar otro pod, reinstalé el REActivityViewController original y borré mis cambios.

Me doy cuenta de que necesito enviar mis cambios a mi tenedor antes de la instalación de otra pod install , pero ¿cómo puedo hacer eso si se trata de un repositorio instalado por CocoaPods? Busqué en la carpeta REActivityViewController instalada debajo de la carpeta Pods y no hay ningún archivo git.

¿Debo trabajar en el tenedor fuera de mi proyecto y luego usar CocoaPods para instalar los cambios? Eso es demasiado engorroso de un flujo de trabajo.

¿O necesito hacer algo con los submódulos?


Responderé a esta pregunta usando un ejemplo. Tengo un fork de TTTAttributedLabel con alguna funcionalidad adicional que agregué aquí:

https://github.com/getaaron/TTTAttributedLabel

Para utilizar esto en un proyecto Cocoapods, I:

  1. Empuja mis cambios a mi tenedor
  2. Configurar mi Podfile para obtener los cambios y la actualización

Una vez que haya llevado sus cambios a su tenedor, obtenga el SHA de su último compromiso. Puedes hacer esto usando git rev-parse origin/master | pbcopy git rev-parse origin/master | pbcopy o en la página de commits de GitHub para su proyecto:

Luego, puede especificar la confirmación específica en su fork en su Podfile de esta manera:

pod ''TTTAttributedLabel'', :git => ''https://github.com/getaaron/TTTAttributedLabel.git'', :commit => ''d358791c7f593d6ea7d6f8c2cac2cf8fae582bc1''

Después de eso, la pod update este compromiso particular de tu tenedor. Si lo desea, también puede hacer un podspec para su fork, pero encuentro este enfoque más simple y no realizo cambios con la frecuencia suficiente como para justificar un nuevo flujo de trabajo.

¿Debo trabajar en el tenedor fuera de mi proyecto y luego usar Cocoapods para instalar los cambios? Esa es la forma de engorroso de un flujo de trabajo.

Puedes hacerlo de esta manera, pero por lo general:

  1. Edite el código dentro de mi proyecto y asegúrese de que funcione
  2. Copie los cambios en mi tenedor, por
    • exportar un parche, o
    • copiando sobre todo el archivo de código fuente
  3. Comprometerse y empujar a Github
  4. Actualiza el Podfile con el nuevo SHA
  5. Ejecutar la pod update

¿O necesito hacer algo con los submódulos?

No, no es necesario.