Xcode7 升級(jí)Xcode8 遇到的問題以及決解方法。

480606.jpg

有時(shí)候我們從xcode7 升級(jí)到Xcode8 會(huì)看到到處都是紅色的感嘆號(hào)。我們不知道從何入手怎么辦呢。

今天就給你講解一下如何解決這些問題。

你嘗試過處理.xcodeproj 文件的合并沖突(NO)

今天我們講解的方法是用一個(gè)工程文件同時(shí)支持xcode7 和xcode8 。

<h4>1.swift </h4>

項(xiàng)目使用的是swift2.3 和最新的swift 版本不兼容 ,設(shè)置SWIFT_VERSION如下圖

<h4>2 Framework provisioning</h4>

Framework provisioning 的工作方式在Xcode 8 上稍有不同 —— 如果是模擬器,它們會(huì)按原樣繼續(xù)編譯,而對(duì)于真機(jī)會(huì)構(gòu)建失敗。

要解決這個(gè)問題,可以像設(shè)置SWIFT_VERSION 時(shí)所做的一樣,遍歷 Build Settings 中所有的 Framework targets 并增加如下選項(xiàng):
“PROVISIONING_PROFILE_SPECIFIER”= “ABCDEFGHIJ/“ 如下圖


無標(biāo)題.png

<h4>3你的項(xiàng)目中使用了 xib和storyboard 文件 </h4>
(xcode的不兼容)然后找到 “Opens in“ 設(shè)置項(xiàng)。

顯示的內(nèi)容很可能是 “Default (7.0)“,將它修改為"Xcode7"


無標(biāo)題.png

<h4>4某些方法確實(shí)無法處理</h4>

考慮到你可能會(huì)忽略這一點(diǎn), Swift 2.2 就引入了編譯預(yù)處理宏。用法很簡(jiǎn)單:
<pre>

if swift(>=2.3)

// this compiles on Xcode 8 / Swift 2.3 / iOS 10

else

// this compiles on Xcode 7 / Swift 2.2 / iOS 9

endif

</pre>

<h4>5轉(zhuǎn)換Convert</h5>
(例如將swift 2.3 移植成 是swift3.0)需要確保你的所有的pods項(xiàng)目的依賴都已經(jīng)是swift3.0

找到 Edit → Convert →To Current Swift Syntax…,選擇所有的構(gòu)建目標(biāo)(記住,你需要一次全部轉(zhuǎn)換好),review 一下diff,測(cè)試,然后提交!如果你尚未完成這些步驟,不妨考慮移除對(duì)iOS 8 的支持——這樣一來你就可以告別更多的@available 檢查和其他的條件語句。祝好運(yùn)!

<h4>6. cocoapods 問題</h4>
最頭疼的問題cocoapods里面項(xiàng)目依賴好多一片紅啊。別急。如果你正在使用CocoaPods,你同樣也需要更新Pods 項(xiàng)目的設(shè)置,以保證其Swift 和provisioning 的設(shè)置是正確的。 Pods target的設(shè)置我們可以在podfile文件中添加依賴設(shè)置
<pre>
post_install do |installer| installer.pods_project.build_configurations.each do |config| # Configure Pod targets for Xcode 8compatibility config.build_settings['SWIFT_VERSION']= '2.3' config.build_settings['PROVISIONING_PROFILE_SPECIFIER'] ='ABCDEFGHIJ/' config.build_settings['ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES'] ='NO' endend
</pre>
同樣,記得把 ABCDEFGHIJ 替換成你的團(tuán)隊(duì)ID。然后運(yùn)行 pod install 來重新生成Pods 項(xiàng)目。
<h4>7. cocoapods 問題</h4>


KbUMi.png

<pods(targets)-- 找到依賴工程部分-build setting -packaging - info.plist files - 設(shè)置相對(duì)路徑>


120D04F3-9352-4DF5-86D0-61015B20C3B1.png

<h4>8. base SDK </h4>
確保選擇 lastestiOS 他會(huì)根據(jù)xcode的變化自己變化iOS的系統(tǒng)環(huán)境。


無標(biāo)題.png

<h4>最后可能遇到的問題以及解決辦法</h4>

無標(biāo)題.png

無標(biāo)題.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容