2012-10-03 40 views
1

我最近升級了我的iPad到iOS 6.0,但保持我的Xcode安裝在版本4.4.1和iOS SDK 5.1,因爲我們即將打包一個客戶端應用程序,並且不想冒着切換SDK/iOS的風險這個版本很晚纔開發。我可以將iOS 5.1 SDK應用程序部署到從Xcode運行iOS 6.0的設備嗎?

現在這個iPad不再出現在它的全名的構建目標列表中,它只是說「iOS設備」。當我嘗試在iPad上進行部署時,它會通知我:「Xcode無法使用所選設備運行。未配置iOS設備可用於兼容的iOS版本。將iOS設備與最新版本的iOS連接以運行您的應用程序或者選擇一個iOS模擬器作爲目的地「組織者還告訴我,iPad上的iOS版本與Xcode中的任何SDK版本都不匹配。

這一切都正確,但不應該能夠部署一個5.1應用程序運行6.0設備?我以前使用5.1構建的應用程序可以繼續在此設備上正常運行,爲什麼新應用程序不應該這樣做?我有一個奇怪的問題,或者這是在Xcode的正常行爲?

謝謝!後續問題:如果我升級我的Xcode版本來解決這個問題,我是否仍然可以爲5.1 SDK構建並確保該應用可以在我的客戶端的5.1設備上運行?這是我最關心的問題。

回答

4

您仍可以部署舊版應用程序,但不能使用Xcode。相反,您需要創建一個ipa歸檔文件並通過iTunes或使用諸如Testflight或某些其他無線(OTA)發行版等工具進行安裝。

另外,是的,你可以升級你的Xcode版本。但是,您可能會遇到更多問題,因爲您使用的第三方庫可能尚未編譯爲armv7。所以你需要升級它們。如果是這樣的話,你會看到從鏈接此錯誤:

ld: file is universal (3 slices) but does not contain a(n) armv7s slice 

欲瞭解更多信息對特定問題見計算器其他地方,例如

File is universal (three slices), but it does not contain a(n) ARMv7-s slice error for static libraries on iOS, anyway to bypass?

這當然沒有阻止你在模擬器上工作。

但是,在設備上運行,總而言之,對我而言,一個很好的解決方案就是下載Xcode 4.5 dmg。由於Xcode已經可以從App Store獲得,它現在是一個自包含的軟件包。現在,您可以在同一臺機器上快樂地共存多個版本。

我這樣做,並使用Xcode 4.5新的iOS 6的東西,而我繼續在4.4與舊應用程序的工作。

+0

澄清它。非常感謝! – KennyDeriemaeker

+0

酷沒有probs高興你有它排序! – 2012-10-03 10:41:31

+0

嗨,最大,我已經在我的設備上安裝了iOS 5.1,並且想要運行一個只有iOS6 SDK的項目,它是否會在我的設備上運行,我將項目的構建目標更改爲5.0。應用程序安裝成功,但在某個時候確實崩潰 – AsifHabib

1

首先,嘗試轉到Xcode Organizer(右上角的小圖標),如果您可以啓用設備進行開發(點擊設備,然後顯示其詳細信息),請參閱此處。這有可能會下載所有必要的東西來讓Xcode使用你的新iOS設備(調試符號和類似的東西)。

如果這不起作用,那麼您所描述的問題僅與您的開發環境太舊,無法管理運行iOS6的設備有關。 無論如何,這不會阻止您的5.1應用程序部署在運行iOS6的設備上;唯一的問題是你不能從舊的Xcode中完成它。

如果一切都失敗了,您可以嘗試通過iTunes手動安裝5.1應用程序,因爲任何開發團隊以外的測試人員也會這樣做。這應該工作。

+0

請檢查我的編輯... – sergio

+0

謝謝@sergio,我不得不重新啓用我的設備進行開發。是因爲我更新了我的iPhone嗎?不知道,但這個伎倆! – Eric

+0

@Eric:很高興幫助!是的,我認爲更新您的設備需要重新啓用它以進行開發(以便下載新的符號)。 – sergio

相關問題