2012-06-21 26 views
6

iOS uygulaması oluşturmak için xcodebuild komut satırı aracını kullanıyorum.SDK için mutlak yol ile xcodebuild komutu

Xcode45-DP1 yüklendikten sonra, uygulamalar oluşturmak için yeni Xcode45-DP1 uygulama paketinden otomatik olarak 6.0 SDK kullanılıyor. Bu uygulamayı AppStore'a gönderirken 2 sorun var.

  1. Uygulama, henüz desteklenmeyen en son SDK (6.0) ile otomatik olarak oluşturulmuştur, böylece uygulama gönderilemez. ÇÖZÜM: I Xcode45-DP.app eski akım SDK'sini (5.1) kopyalanır ve komut hattı -sdk iphoneos5.1

  2. İkinci sorun ApplicationLoader uygulamasını doğrulanması durumunda, SDK desteklenmeyen versiyonundan kullanılır görür olmasıdır belirtilen Xcode (45-DP1) ve uygulamayı yüklemek için reddeder. ÇÖZÜM: Ben gibi, SDK için mutlak yolunu belirtmek isteriz: xcodebuild -sdk /path/to/5.1sdk...

sorun olduğunu xcodebuild her zaman SDK "/path/to/iPhoneOS5.1.sdk/" yer edilemeyeceğini söylüyor.

SDK için mutlak yolun nasıl kullanılacağı ve hangi dosya/dizinin işaret edilmesi gerektiği konusunda deneyim sahibi olan var mı?

Şimdiden teşekkürler.

+0

Sana * Geçerli kullanmanız gerekir düşünüyorum * Uygulamanızı göndermek için Xcode sürümü, geliştirici önizlemesi değil. Neden zaten bir geliştirici önizlemesi kullanmanız gerekiyor? – trojanfoe

+0

4.5 DP1'in de NDA altında olması mümkün mü? Bu konuda Apple geliştirici forumlarında sorun. – petert

+0

Bu kesinlikle doğru. Uygulamayı oluşturmak için 4.5 DP1 kullanmak istemiyorum, ama komut satırından xcodebuild çalıştırırken, varsayılan olarak kullanır, bu yüzden 5.1SDK'yı kopyalamaya çalıştım. Ayrıca eski CommandLineTools'u yüklemeyi denedim ama yardımcı olmadı. –

cevap

4

Bunu bir süredir araştırıyorum ve belirli bir SDK'ye tam olarak mutlak yol almanın doğrudan bir yolu olmadığı görülüyor. Eğer son birkaç yolu parçalarını kapalı keyfi bir kütüphane için -sdk anahtarı ve -find-library kurmak ve şerit Ancak, bunu gibi tam sdk yolunu alabilirsiniz:

[ 13:02 [email protected] ~ ]$ export SYS_ROOT=`xcodebuild -sdk iphoneos6.0 -find-library system` 
[ 13:02 [email protected] ~ ]$ echo "${SYS_ROOT/\/usr\/lib\/libsystem.dylib/}" 
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk 

[ 13:02 [email protected] ~ ]$ export SYS_ROOT=`xcodebuild -sdk iphonesimulator6.0 -find-library system` 
[ 13:02 [email protected] ~ ]$ echo "${SYS_ROOT/\/usr\/lib\/libsystem.dylib/}" 
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator6.0.sdk 
+4

SYS_ROOT yolları da şu şekilde elde edilebilir: "xcrun --sdk iphoneos --show-sdk-yolu" ve "xcrun --sdk iphonesimulator --show-sdk-yolu". – neoneye

+1

Yukarıdaki yorumda neoneye göre cevap çok daha verimli ve güvenilirdir. Teşekkürler – michaK

İlgili konular