2014-05-15 9 views
6

Ben ana projenin bir parçası olarak birkaç alt projeler (lib dosyaları olarak derlemek çerçeve projeleri) içeren bir Xcode projesi var içeren bir proje oluşturmak xcodebuild nasıl yapılır. Proje, Xcode'ta düzgün bir şekilde derler/kurar (alt projeleri, hiyam ağacının altından ana uygulama projesine kadar doğru şekilde oluşturur).Xcode: alt projeleri

Şu anda Projeyi Sürekli Entegrasyon için kurmaya çalışıyorum ve xcodebuild kullanarak komut satırından oluşturmayı denediğimde ... daha önce oluşturulmuş olması gereken .a dosyalarını bulamadığı için yapı başarısız oluyor. ana proje

Ben bağımsız cmd satırından lib dosyaların her biri inşa edebilirsiniz, ancak tüm birleştirilmiş proje başarısız olur. Hedef şemasında doğru şekilde yönetilen bağımlılıklara sahip olmama rağmen ve xcodebuild kullandığımda hedef veya şemayı belirlersem, alt projeleri henüz oluşturmaz.

o Xcode IDE olduğu gibi xcodebuild alt projeler ve ardından ana projeyi inşa yapmak için bir yolu var mı? Eğer değilse, tüm projeyi bir çalışma alanına dönüştürdüysem bu işe yarar mı?

Herhangi bir yardım veya öneriler büyük takdir. Mavericks üzerinde Xcode 5.1.1 çalıştırıyorum.

+0

Bazen "Release" ve "Debug" yapı yapılandırmaları farklı ayarlara sahiptir. '-Configuration Debug' xcodebuild seçeneğini kullanarak deneyebilirsiniz. Bu _should_ Xcode 5.1, aynı şekilde çalıştırma düğmesine basarsanız aynı şekilde inşa eder. –

+0

Ayrıca, sağ kenar çubuğundaki "İlgili" sorulara bakın. –

cevap

2

Çoklu projelerde inşa etmek için bir çalışma alanı kullanmak gerekir. Ayrıca, bir CI sunucusuna geçtiğiniz için, planlarınızı paylaştığınızdan emin olun.

+0

Teşekkür ederim Sylvanaar, bana doğru yönde işaret ettin. – SeaWolf

8

çözüm yerine "-target" projesi

BAŞARISIZ (App tüm alt projeler/çerçeveler ve daha sonra hedef) düzgün inşa izin ait "-Düzenleme" bayrağını kullanarak ... basit bir oldu: BEKLENEN AS YAPIM

xcodebuild -project MyProject.xcodeproj -target MyProject -sdk "iphoneos" -configuration “Build” archive OBJROOT=../../build_iOS/Obj.root SYMROOT=../../build_iOS/Sym.root 

:

bir çalışma alanına proje dönüştürmek için gerek yoktu
xcodebuild -project MyProject.xcodeproj -scheme MyProject -sdk "iphoneos" -configuration “Build” archive OBJROOT=../../build_iOS/Obj.root SYMROOT=../../build_iOS/Sym.root 

.

+2

Ayrıca, proje, şema vb. Için tam dosya yollarını kullanmanın büyük bir fark yarattığını da fark ettim. Çoğu zaman Xcodebuild, terminaliniz doğru baksa bile dosyayı bulamadığından şikayet eder ... tam bir yol bunu çözer. – SeaWolf