https://www.jianshu.com/p/96d868dcd69c
2017.07.07 16:23* 字數 295 閱讀 5218評論 2喜歡 4
首先,在OC項目的Podfile文件中添加如下
use_frameworks!
pod 'PromiseKit', '~> 4.2.2' #任意一個swift庫
然后pod install
接着編譯command+r
會有報錯。
先不管報錯,xcode提示修改項目配置,主要是修改
ALWAYS_SEARCH_USER_PATHS = NO;
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
如果沒有提示,請自行到project.pbxproj文件中找到ALWAYS_SEARCH_USER_PATHS改為NO;
在其上面添加一行ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
然后就是修改報錯
以前沒有加入use_frameworks!前OC調用Pod引入的第三方庫時,是這樣調用的#import <YYKit.h>,現在全部給它加上frame前綴#import <YYKit/YYKit.h>
記住不要按照xcode的提示去修改,它提示你把<>改為"",這樣就真的找不到頭文件了。
這是一個艱苦的過程,我足足改了100+個文件,還好有批量替換☺
如果你也和我一樣用到mattt大神的Ono,或者其他比較古老的第三方庫,或許你也碰到這樣的問題(如果沒看到,clean后再看)
引用Ono.h地方
是的,已經添加frame前綴Ono了,還是報錯;
一共報了2處錯誤,第一個就是它,一開始以為是frame前綴拼錯了,用代碼提示來寫也不對。
跳轉到Ono.h文件里邊也沒發現報錯
Ono.h.png
想着處理第二個問題再說咯,這時發現了問題的端倪
第二個問題才是重點! ONOXMLDocument.h.png
問題描述是:Include of non-modular header insider framework module 'xxxx'
解決方案是在Build Setting中修改Allow Non-modular includes in Framework Modules 為YES
參考資料:include of non-modular header inside XXXX
OC項目引入使用swift編寫的三方庫后,報錯
2018年01月15日 15:20:38 jinrui_w 閱讀數:1488
版權聲明:本文為博主原創文章,未經博主允許不得轉載。 https://blog.csdn.net/jinrui_w/article/details/79064975
OC項目引入使用swift編寫的三方庫后,報錯
- 錯誤描述: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項目
- TARGETS選擇對應的使用swift編寫的三方庫
- 切換到Build Setting選項
- 在搜索框輸入swift language搜索
- 將Swift Language Version中的Unspecified改為對應的Swift版本(Swift 3.2)
- 重新build項目,這是可能會報一些Swift的語法錯誤,修改一下就OK了。
OC項目Cocoapods導入Swift庫出錯解決辦法
https://blog.csdn.net/niumanxx/article/details/80481426
2018年05月28日 14:24:52 niumanxx 閱讀數:1088
版權聲明:未經博主允許不得轉載。 https://blog.csdn.net/niumanxx/article/details/80481426
由於本人在開發過程中主要用的是OC語言,所以pod的都是OC庫,Podfile里又沒加use_frameworks!
所以一直都是.a類型的。后來因為需求需要用到一個只有swift版本的庫,就使用use_frameworks!將所有.a庫變成了.framework。然后信心滿滿地運行工程,結果GG。
最后歸納出幾個需要注意的點:
1.將用到的庫提示找不到的,從#import <xxx.h>改為#import "xxx.h";
2.找到Target->Build Settings->Other Linker Flags,把Pod進來的庫,
比如:改成
,不是Pod進來的不用改;
3.點擊pods Target如圖:,,再點擊Build Setting,如圖:
搜索Swift Language Version,將版本設置為Swift庫能支持的最高版本,如圖: