2012-06-08 15 views
54

Bir kabuk komut dosyası kullanarak xcodebuild komut satırı yapıyorum. Sorunum, bir kez xx.xcodeproj dosyasını açıp kapatırsam ve o komutu iyi çalıştığında sorun olur.project.xcworkspace dosyası önemli mi?

Her nasılsa, dosyanın içine derin bir şekilde girersem, bu project.xcworkspace değişmiş olan tek dosyadır. Bu dosya geçerli mi ve sürüm kontrolüne bakmalı mıyım? Bu sorunlara neden olur mu?

.pbxproj kadar önemli olduğunu duydum: Bu doğru mu?

Xcode proje dosyalarındaki çeşitli dosyaların rolleri ve sorumlulukları hakkında konuşulan geçerli bir belge bulamadım. Lütfen bunu anlamama yardımcı olacak bağlantılar sağlayın.

cevap

89

project.xcworkspace, çalışma alanını veya projeleri açıklayan dosyaların bir dizinidir. Buradaki bazı cevaplar gereksiz olduğunu ve kaynak kontrolü için göz ardı edilmesine işaret etse de, ben de aynı fikirde değilim, ancak çevrenizi nasıl kullandığınıza bağlı olarak oldukça fazla olacak. Genel olarak, project.xcworkspace dizininin içeriği, projenizdeki en üst düzey varlıklar olarak dahil edilen projeleri listeleyendosyasını, her kullanıcının ayarlarını içeren bir xcuserdata dizinini (kaynak kodu kontrolü için yoksayılmalıdır) ve xcshareddata dosyasını içerir. Bu, bir projeyi paylaşan kullanıcılar tarafından paylaşılan verilerdir ve kaynak kontrolü altında olmalıdır.

Çalışma alanlarını paylaşmadığınız veya basit çalışma alanlarını kullandığınız ortamlarda, bunları da görmezden gelebilirsiniz, ancak ilgili projeleri aynı çalışma alanına yerleştirdiğiniz ve bu yapılandırmayı paylaştığınız ortamlarda, şunları yapmak isteyebilirsiniz: Bunları sakla.

+6

Kakao Pod'ları (pod yükleme) kullanıyorsanız, project.xcworkspace dosyası oluşturulur. Bir pod çalışma alanı oluşturur ve Pod'lar aracılığıyla yeni yüklediğinizi istiyorsanız, proje dosyası yerine project.xcworkspace dosyasını açmanız gerekir. – LevinsonTechnologies

+6

@LevinsonTechnologies OP, projenin 'Foobar.xcodeproj' üst düzey klasörü _within_ alt klasörüne başvurmaktadır. Bu alt klasör _literally_ "project.xcworkspace" olarak adlandırılmıştır. CocoaPods'un yarattığı ve size atıfta bulunduğunuz şey, Foobar.xcodeproj ile aynı düzeyde bulunan Foobar.xcworkspace adlı başka bir _top-level_ klasörüdür. İki şeyi karıştırmayın! Benim tahminim Xcode'un her zaman bir çalışma alanına ihtiyaç duyması ve alt klasörün Xcode'un sadece sizin .xcodeproj ile çalıştığınız sürece sizin için perde arkası oluşturduğu ve sakladığı bir çeşit “gizli” çalışma alanı olmasıdır. – herzbube