2013-10-02 48 views
6

我有一個需要iOS 6.1 SDK的項目,我已經升級到XCode5並且沒有在Build Settings - > Base SDKs中看到iOS 6.1 SDK。我有早期的SDK單獨保存並嘗試將其複製粘貼到/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs目錄中。但是它不會顯示在Build settings - > Base SDKS中。我如何在Xcode 5中使用多個SDK?Xcode - 在XCode 5上使用多個SDK

+0

當我這樣做時,它確實會顯示給我。我認爲你已經重新啓動Xcode? –

+0

[可以在Xcode 5上安裝iOS 6 SDK嗎?](http://stackoverflow.com/questions/18423896/is-it-possible-to-install-ios-6-sdk-on-xcode -5) – Adam

+2

請確保您重新啓動XCode,並且在某些情況下您需要註銷/登錄。 – Adam

回答

7

而不是直接複製粘貼,你應該使用符號鏈接,以避免各的XCode更新先前版本的SDK中刪除..

1.Open終端並轉到下面的SDK目錄如下圖所示

cd /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs 

2.在將來的XCode更新之後,在文檔或其他不會被刪除的文檔或其他目錄中粘貼SDK 6.1或您想要的早期SDK。一旦將SDK放入該目錄中,請使用以下命令創建符號鏈接。 (爲簡單起見,我已經把SDK 6.1中的文檔目錄)

sudo ln -s /Users/.../Documents/iPhoneOS6.1.sdk . 

注意:不要忘記添加一個空格和該命令後一個點。

1

如果你想使用以前的SDK與xCode 5,只需將以前的SDK複製到內容 - >開發人員 - > patforms-> iPhoneOS.platform 之後,重新啓動xCode。確保你打開xCode5內容並在那裏粘貼。

+1

重新啓動的伎倆。但由於它具有未來升級的解決方案,所以在上面標記答案。謝謝。 –

4

在從已刪除的答案評論,你說:

使用7.0 SDK引起各種奇怪的渲染問題在我的iOS7的應用程序,我沒有時間來修復立即

我的理解是這裏的問題,但我不得不說我同意trojanfoe,最好的做法是確實應該使用最新的SDK,但也可以隨意支持任何以前的iOS版本,您的業務需求決定。因此,理想情況下,應該:

  1. 設置應用程序是什麼的iOS的最早版本,你需要支持的最小部署目標:

    project target

  2. 顯然編寫代碼支持iOS版本的範圍從應用程序的最低「部署目標」到最新的iOS版本。這將涉及在iOS應用程序編程指南,即Supporting Multiple Versions of iOS所列技術通常譜:

    • 可能不是你的最早的部署目標支持框架的弱鏈接;

    • 運行時檢查是否存在類;

    • 針對respondsToSelector的運行時檢查,這些方法不適用於您支持的所有iOS版本;

  3. 然後,如果你想測試在模擬器上進行早期的IOS版本,在方案菜單,選擇目標IOS版本:

    scheme

    顯然,你會想以測試仍然運行舊iOS版本的物理設備(以及顯然最新的iOS版本)。但使用模擬器是一種快速的方式,通過對照早期iOS版本的步伐運行應用程序,並確保您保持向後兼容性。

我理解你對這種方法的擔憂,我明白這可能不適合你,但是我覺得不得不概述我認爲是什麼「最佳實踐」。