ios - xcode安裝 - xcode教學




是否可以在Xcode 5上安裝iOS 6 SDK? (10)

可以做到這一點 ,但沒有必要

這個怎麼做

傑森李得到了答案。 安裝xCode時,我首選保留以前的安裝而不是替換它們。 所以我有這些在我的安裝文件夾

因此/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs包含不同的sdks。 (用正確的編號替換Xcode.app)將之前的sdks複製到

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

這是我複制一個文件夾後的文件夾。

現在重新啟動xCode,您可以將之前版本的sdks設置為基礎sdk。

為什麼沒有必要

參考Apple Documentaion

要為Xcode項目使用特定的SDK,請在項目的構建設置中進行兩個選擇。

  1. 選擇一個部署目標

    這標識了軟件可以運行的最早的操作系統版本。

  2. 選擇一個基礎SDK

    您的軟件可以使用操作系統版本中可用的功能,包括與基本SDK相對應的功能。 默認情況下,Xcode將其設置為Xcode支持的最新操作系統。

規則是使用latest作為基礎SDK,並將部署目標設置為應該運行的最低版本應用程序

例如,您可以使用iOS 7作為基礎sdk,並將iOS 6設置為部署目標。 在iOS 6模擬器上運行,以測試它在iOS 6上的工作原理。安裝模擬器(如果模擬器列表不可用)。

另外,您可以無條件地使用iOS 6以上的功能。並且有條件地,您可以支持iOS 7的新功能,以支持新版本的設備,同時支持以前的版本。

這可以使用弱鏈接類弱鏈接方法函數符號來完成

https://developer.apple.com/library/ios/documentation/developertools/conceptual/cross_development/Using/using.html#//apple_ref/doc/uid/20002000-SW3

弱連接

假設在Xcode中,您將部署目標(最低要求版本)設置為iOS6,並將目標SDK(允許的最大版本)設置為iOS7。 在編譯期間,編譯器會弱連接iOS7中引入的任何接口,同時強烈鏈接早期的接口。 這將允許您的應用程序繼續在iOS6上運行,但在可用時仍會利用更新的功能。

Xcode 5有一個允許下載iPhone 6.1模擬器的偏好窗格,但是我找不到允許下載iOS 6 SDK的地方,因此在使用Xcode 5開發時無法將活動SDK設置為iOS 6有沒有可以讓Xcode 5安裝iOS 6 SDK的解決方法?

編輯:

現在,Xcode 5一般都可用,並且允許您下載SDK的以前版本,所以現在不再需要解決方法了。


其他答案也是正確的,但我發現以下步驟是最簡單的:

只需從開發人員中心鏈接下載Xcode 4.6.3,然後選擇“尋找舊版Xcode?” (目前在這裡指出)並掛載dmg。

然後在終端中,複製SDK文件:

cp -R /Volumes/Xcode/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/

最後,重新啟動Xcode,你就完成了。


如其他答案中所述將6.1 SDK連接到Xcode 5是一個步驟。 然而,這仍然不能解決在iOS 7新的UI元素上運行的問題,視圖控制器被製成全尺寸等等。

如本答案中所述,還需要在iOS 7上將用戶界面切換為傳統模式:

[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"UIUseLegacyUI"];
[[NSUserDefaults standardUserDefaults] synchronize];

注意:這是一個無證的密鑰,不建議用於App Store構建!

另外,根據我在設備上測試的經驗,我發現它僅在我啟動應用程序的第二次時才起作用,即使我在應用程序啟動的早期階段以+[AppDelegate initialize]運行代碼。 此外,使用Xcode 4.6構建的版本也存在細微的差異。 例如,透明導航欄的行為不同(導致視圖為全尺寸)。

但是,由於Xcode 4.6.3在Mavericks上崩潰(至少對我來說,請參閱rdar://15318883 ),這至少是繼續使用Xcode 5進行調試的解決方案。


從2月1日起,Apple將拒絕僅針對iOS6或更低版本構建的應用程序。 這也是蘋果官方的communication 。 更好地開始構建iOS7。

為了澄清我的陳述:如果您構建iOS6或更低版本,蘋果將拒絕您的應用程序。 如果你為iOS7構建並降低一切都很好,這意味著:

  1. 你必須使用xcode5
  2. 你至少應該在iOS7上部署。

Apple電子郵件的內容對我來說很清楚

“確保您的應用程序能夠與iOS 7中的創新技術無縫協作。從2月1日開始,提交給App Store的新應用程序和應用程序更新必須使用Xcode 5和iOS 7 SDK構建。”


我下載了XCode 4,並將iOS 6.1 SDK從它上傳到XCode 5,如其他答案中所述。 然後我還安裝了iOS 6.1 Simulator(它可以在首選項中使用)。 我還在項目設置中將Base SDK切換到iOS 6.1。

在所有這些操作之後,具有6.1 base sdk的項目在iOS 7 Simulator中以comp comp模式運行。


我的應用程序無縫轉換為Xcode 5,因為它仍然可以使用您在項目中設置的原始iOS部署目標(我的情況為5.1)進行構建。 如果新的SDK不會導致一些不可逾越的問題,那麼為什麼不使用它呢? 在引擎蓋下肯定有很多改進。

例如,我更願意使用Xcode 5而不是Xcode 4.6.3。 為什麼? 我將獲得更多的電池壽命,因為Xcode 5中的文本/代碼區域的UI滾動不再咀嚼整個CPU線程。


是的,我今天剛解決了這個問題。

  1. 在您或朋友的舊版Xcode目錄中找到SDK文件,如iPhoneOS6.1.sdk。
  2. 複製並放入Xcode 5目錄:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs。

然後你可以選擇如下的SDK:

希望這可以幫助你。


查找並下載舊的SDK。 較舊的SDK可以在這裡找到

我已將Xcode.app目錄複製為Xcode_4.6.3.app。

現在您可以在兩種xcode版本中進行測試和調試。 您必須從相應的文件夾運行它們或在桌面上創建快捷方式。 從命令行構建時,將參數設置為iPhoneOS6.1而不是iPhoneOS7.0

這在Xcode5和iOS中非常適合我。

進入Xcode5的SDK目錄。 它通常位於:

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

像這樣添加一個符號鏈接到舊的SDK:

sudo ln -s /Applications/Xcode_4.6.3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk iPhoneOS6.1.sdk

或者更準確地說,從命令行的任何地方,

sudo ln -s /Applications/Xcode_4.6.3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk  /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk

當我更新到xcode 5時,我也遇到了同樣的問題,它刪除了舊的sdk。 但是我從另一台計算機上獲取了舊版SDK的副本,並且您可以從以下鏈接下載相同的副本。

http://www.4shared.com/zip/NlPgsxz6/iPhoneOS61sdk.html
(www.4shared.com測試帳戶[email protected]/test)

有兩種方法可以使用。

1)將此文件夾解壓並粘貼到/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs並重新啟動xcode。

但是如果您更新xcode,這可能會再次被Xcode刪除。

2)另一種方法是解壓並粘貼到您想要的位置,然後轉到/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs並在此處創建符號鏈接,以便SDK即使你更新Xcode。

我做了另一個更改,Build Setting> Architectures> standard(不是64),因此列出了Deployment Target的所有版本

如果您只想更改部署目標,則無需下載zip。

這裡有一些截圖。


編輯:從2014年2月1日開始,Apple將不再接受iOS7以前的應用程序提交給App Store。 所以雖然這種技術仍然有效,但對於大多數讀者來說它並不會有用。

是的,這很好。 我仍然使用iOS 4.3構建一個項目(這是我們更新後的一段時間;但是在iOS 6發布後,他們仍然接受),而且我目前使用Xcode 5構建了10.5個應用程序。

請參閱如何將Xcode指向舊版SDK,以便它可以用作“基本SDK”? 了解如何設置它的詳細信息。 每次升級時,您都可以使用我的fix-xcode腳本為您鏈接所有內容。

唯一的竅門是獲得舊的SDK。 如果您沒有它們,通常需要下載舊版本的Xcode(仍然可以在developer.apple.com上找到 ),打開安裝程序包,然後尋找您需要的SDK。

SDK可以在安裝程序包中找到:

Xcode.app/Contents/Developer/Platforms/





xcode5