1. 程式人生 > >Xcode8.1如何支援iOS8.0以下版本

Xcode8.1如何支援iOS8.0以下版本

Xcode6.0升級到Xcode8.0,Xcode8.0升級到Xcode8.1時會刪除它支援的8.0以後的版本配置檔案。老專案要相容iOS8以下也是可以另闢蹊徑的。
雖然手機iOS已經到了10.1.1版本,但是人有8%的人在用9.0以前的版本,並且這些早期版本又以7.0、7.1、8.0、8.1、8.2、8.3、8.4版本佔絕大多少。
iOS7.0以下版本市場佔有率已經低於4%,可以忽略了。iOS7.0以前的版本和現在的版本差異很大,沒有必要為了適配它們花費更多精力。所以放棄它們吧!
iOS7.0、iOS7.1對應是的iphone 5s還有餘熱可以發揮,暫時可以不捨棄它。
現在從Xcode8.0開始,已經不支援8.0以下版本。若你不想放棄7.0、7.1,想支援它就要想些辦法支援它了。
現在iMac 10.12.1加強的對系統資料夾下的檔案可寫控制,想直接修改SDKSettings.plist已經不可以了。
首先我們要找到Xcode是通過什麼來相容iOS版本的,請開啟以下路徑:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport,在資料夾中我們能夠看到Xcode支援的iOS版本,從8.0開始,唯獨沒有8.0以下的,所以我們第一步要做的就是把需要支援的iOS版本的配置包放進來,支援iOS7.0以前的版本介紹如何支援iOS7.0,iOS7.1版本:
開啟資料夾,找到應用程式,找到Xcode,右擊該圖示選顯示包內容
這裡寫圖片描述


找到/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport這個資料夾,從https://pan.baidu.com/s/1minqZJa這個地址下載裝置支援包,解壓縮,把7.0和7.1資料夾拷貝到該資料夾。
這裡寫圖片描述
找到/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs目錄你會看到兩個子目錄iPhoneOS.sdk和iPhoneOS10.1.sdk
這裡寫圖片描述
然後找到它們下面SDKSettings.plist,分別把它們拉到終端裡解析它們的地址,你會發現它們地址完全相同,所以它們是同一個檔案。
在這個資料夾裡的東西是鎖定的,首先右鍵‘空白部分’,點選顯示簡介,滑動到最下面,點選小鎖開啟許可權,需要輸入管理員密碼,接著把所有的許可權改為讀寫,第一步完成,接下來,右鍵SDKSettings.plist資料夾,和上面同樣的操作,開啟讀寫許可權,然後雙擊開啟SDKSettings.plist檔案。
你會發現它仍舊有可能報錯,不能修改。
這裡寫圖片描述

這個檔案本應該可以修改,但是由於許可權和引用的問題而不讓你修改。那麼你來個暴力的,用linux命令直接把它拷貝到桌面上,修改後再拷貝過來不就可以了。
在終端裡執行這個命令:cp /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/SDKSettings.plist /Users/jiaguoshang/Desktop/SDKSettings.plist。
雙擊開啟SDKSettings.plist,新增7.0和7.1版本支援屬性,並儲存。
這裡寫圖片描述
在活動監控器裡強制退出XCode,在終端裡執行這個命令:cp /Users/jiaguoshang/Desktop/SDKSettings.plist /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/SDKSettings.plist。
你可以看到/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs的子目錄下的兩個SDKSettings.plis都變成你剛拷貝的檔案了,內容一模一樣。
這裡寫圖片描述

關閉所有Xcode,再開啟工程你就可以看到Deployment Target可以選擇iOS7.0了。
這裡寫圖片描述
下面是最近iOS各個版本的市場佔有率統計:
這裡寫圖片描述
這裡寫圖片描述
這裡寫圖片描述