2012-10-07 13 views
25

Sto per migrare la mia app per utilizzare CocoaPods. La mia attuale struttura di directory è simile allo schema seguente. Ho uno spazio di lavoro che contiene 3 progetti (ipad, ipod, common). Esistono obiettivi di compilazione nei progetti ipad e ipod con dipendenze nel progetto common.Struttura progetto/spazio di lavoro per più app con CocoaPods

MyGreatApp 
| 
+-- MyGreatApp.xcworkspace 
| 
+-- ipad 
| | 
| +-- ipad.xcodeproj 
| +-- (source code) 
| 
+-- ipod 
| | 
| +-- ipod.xcodeproj 
| +-- (source code) 
| 
+-- common 
    | 
    +-- common.xcodeproj 
    +-- (source code) 

La mia domanda è, come dovrei migrare questo a CocoaPods? Sembra che CocoaPods crei un nuovo spazio di lavoro per ogni Podfile creato. Mi piacerebbe mantenere la struttura del mio spazio di lavoro a 3 progetti perché sembra che tutto funzioni bene insieme. Devo creare un Podfile per ogni progetto con target e un Specfile per il progetto comune? Come faccio a configurarlo in XCode, quindi?

risposta

52

Nell'ultima versione, al momento di questo post, è necessario avere il vostro podfile nel seguente formato:

workspace 'Test' 
xcodeproj 'iphone/iphone.xcodeproj' 
xcodeproj 'iphone2/iphone2.xcodeproj' 

target :iphone do 
    platform :ios, '6.0' 
    pod 'RestKit' 
    xcodeproj 'iphone/iphone.xcodeproj' 
end 

target :iphone2 do 
    platform :ios, '6.0' 
    pod 'RestKit' 
    xcodeproj 'iphone2/iphone2.xcodeproj' 
end 

ho verificato che questo sta lavorando per più progetti in uno spazio di lavoro esistente.

Vedi questo post per maggiori dettagli: https://github.com/CocoaPods/CocoaPods/issues/738

+3

Quindi sì ho avuto lo stesso problema. Ho esaminato questa discussione: https://github.com/CocoaPods/CocoaPods/issues/738 Il punto principale è specificare lo spazio di lavoro e tutti i sottoprogetti all'inizio del Podfile e quindi, di nuovo il sottoprogetto per tutti i bersagli Quale esattamente quello che hai fatto! grazie :) –

+0

Ottima risposta, grazie! I pod funzionano con entrambi i progetti OS X e iOS nello stesso spazio di lavoro. – Cemen

+0

grazie, risposta perfetta! questo dovrebbe essere aggiunto alla documentazione ufficiale! – floriankrueger

Problemi correlati