2014-05-08 13 views
8

Sto lavorando su un cocoapod privato e progetto utilizzando quel cocoapod contemporaneamente, e ho difficoltà a impostare il flusso di lavoro giusto per mantenere tutto sincronizzato.Forza l'aggiornamento di Cocoapod con lo stesso tag

Il problema che sto incontrando è questo: se faccio un cambiamento al mio progetto cocoapod, ho trovato che l'unico modo per ottenere il mio altro progetto per tirare questi cambiamenti è se creo un nuovo tag e modificare la versione a cui fa riferimento la specifica del pod. Di conseguenza, mi sto bloccando con molte versioni inutili delle specifiche del mio pod.

Quello che preferirei è spostare semplicemente il mio tag sulla testa del mio progetto cocoapod e in qualche modo ri-tirare il cocoapod. Ho trovato che l'installazione di pod e l'aggiornamento del pod non sembrano aggiornare il cocoapod in questa circostanza.

Qualcuno ha qualche raccomandazione per lavorare contemporaneamente su un cocoapod e un progetto che lo usa?

+1

Quando succede questo, di solito rimuovo la linea dal mio 'Podfile', eseguo' pod install', riaggiungi la riga ed eseguo 'pod install'. Forse c'è un modo migliore ma questo è piuttosto semplice. – Emilie

risposta

3

Si potrebbe anche usare la bandiera :head ma si sarebbe comunque necessario creare i tag.

pod 'YourPod', :head 

Quando si esegue pod update ultima del pod spec versione sarebbero stati utilizzati.

2

Facciamo lo stesso internamente nel nostro team e abbiamo finito facendo riferimento al commit più recente, anziché al tag. Qui hai un esempio di una podspec:

Pod::Spec.new do |s| 
    s.name   = "TTFacebook" 
    s.version  = "0.0.1" 
    s.summary  = "Tiltap wrapper around Facebook SDK 3.5" 
    s.homepage  = "https://bitbucket.org/*****" 
    s.license  = 'MIT' 
    s.author  = { "Paolo Tagliani" => "[email protected]" } 
    s.platform  = :ios, '5.0' 
    s.source  = { :git => "[email protected]*****", :commit => "a8c276eec3372f2b088de0731a7808e4766b625d" } 
    s.source_files = 'TTFacebook/TTFacebook/*.{h,m}' 
    s.requires_arc = true 
    s.dependency 'Facebook-iOS-SDK','~>3.5' 

end 

Ogni volta che modifichiamo qualcosa nella nostra biblioteca, aggiorniamo il nostro podspec con l'ultimo commit.

2

Se si punta il file pod al repository git della libreria, verrà solo spostato l'ultimo ramo predefinito.

pod 'InternalStuff', :git => 'https://github.com/YourGithub/InternalStuff.git'

+2

La prima volta verrà eseguito il commit più recente, ma se si preme qualcosa di nuovo dopo aver riavviato l'installazione del pod, non funzionerà. Devi eseguire l'aggiornamento pod dopo. – LeGom

Problemi correlati