OC項(xiàng)目中加入Swift文件的配置Pods時(shí)會(huì)出現(xiàn)的問(wèn)題

本文只談?wù)撆渲肞ods庫(kù)出現(xiàn)的問(wèn)題及解決方法

如果導(dǎo)入pods庫(kù), pod install 之后出現(xiàn)如下的錯(cuò)誤時(shí)

Unable to determine Swift version for the following pods:
原因是工程中沒(méi)有設(shè)置SWIFT_VERSION,為空,而依賴(lài)的第三方庫(kù)使用了swift,若用公司網(wǎng)絡(luò)下載pods下載不下來(lái),建議采用電腦直接連接手機(jī)wifi網(wǎng)絡(luò)(你的手機(jī)流量夠用的情況下)。
解決方案:設(shè)置Targets->Build Settings->Combined(All)->User-Defined->SWIFT_VERSION,設(shè)置為4.0等。若沒(méi)有SWIFT_VERSION屬性就要在User-Defined下面點(diǎn)“+”添加(如下圖),設(shè)置版本號(hào)。
點(diǎn)擊加號(hào)添加SWIFT_VERSION屬性
添加swift版本

編譯之前需先修改項(xiàng)目配置如下

    ALWAYS_SEARCH_USER_PATHS = NO;
    ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;

如編譯出現(xiàn)如下錯(cuò)誤時(shí)

The “Swift Language Version” (SWIFT_VERSION) build setting must be set to a supported value for targets which use Swift. This setting can be set in the build settings editor.

解決辦法如下:

  • 選中Pods項(xiàng)目
  • TARGETS選擇對(duì)應(yīng)的使用swift編寫(xiě)的三方庫(kù)
  • 切換到Build Setting選項(xiàng)
  • 在搜索框輸入swift language搜索
  • 將Swift Language Version中的Unspecified改為對(duì)應(yīng)的Swift版本(Swift 5)
  • 重新build項(xiàng)目,這是可能會(huì)報(bào)一些Swift的語(yǔ)法錯(cuò)誤,修改一下就OK了。
設(shè)置

如編譯報(bào)找不到frameWork錯(cuò)誤時(shí)

以前沒(méi)有加入use_frameworks!前OC調(diào)用Pod引入的第三方庫(kù)時(shí),是這樣調(diào)用的#import <YYKit.h>,現(xiàn)在全部給它加上frame前綴#import <YYKit/YYKit.h>
記住不要按照xcode的提示去修改,它提示你把<>改為"",這樣就真的找不到頭文件了。

如編譯報(bào)錯(cuò)如下

Include of non-modular header insider framework module 'xxxx'
解決方案是在Build Setting中修改Allow Non-modular includes in Framework Modules 為YES

請(qǐng)關(guān)注我的專(zhuān)題 iOS - Developer - OC 進(jìn)階大全

?著作權(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)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

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