先吐槽一下,Swift 好多坑,不過反而更期待了盖奈。
1、Swift語言使用cocoapods配置Podfile文件時(shí)要加上use_frameworks!這句代碼狐援,作用是把三方庫打包成靜態(tài)庫
2卜朗、swift調(diào)用oc的三方庫
a、要建立一個(gè)橋接文件咕村,然后在target——>build setting中搜索 (這里不多介紹场钉,小白請(qǐng)谷歌)
之后在橋接文件里面導(dǎo)入第三方OC的頭文件 eg:
如果此刻運(yùn)行 或許會(huì)報(bào)錯(cuò)找不到該第三方的頭文件
之后要設(shè)置一個(gè)User Header Search Paths,否則在需要用三方庫的地方是調(diào)不出來的懈涛。在target——>Build Setting里找到search Paths,雙擊User Header Search Paths后面的空白處逛万,設(shè)置目錄路徑為${SRCROOT} ,后邊選擇recursive批钠。下圖是我的宇植,加不加“/Pods” 都可以
之后是我遇到的坑
在 TARGETS 選擇Build Phases ,找到 Link With Library
導(dǎo)入 第一個(gè)埋心,(是我的第三方)
但是并不是所有的第三方都需要在這里添加指郁,說到這我們要說一下 在 Podfile 里面的添加的 use_frameworks!
用cocoapods 導(dǎo)入swift 框架 到 swift項(xiàng)目和OC項(xiàng)目都必須要 use_frameworks!
(1)如果在Podfile文件里不使用 use_frameworks! 則是會(huì)生成相應(yīng)的 .a文件(靜態(tài)鏈接庫),通過 static libraries 這個(gè)方式來管理pod的代碼拷呆。
(2)如果使用了use_frameworks! 則cocoapods 會(huì)生成相應(yīng)的 .frameworks文件(動(dòng)態(tài)鏈接庫:實(shí)際內(nèi)容為 Header + 動(dòng)態(tài)鏈接庫 + 資源文件)(3)Linked:Pods_xxx.framework包含了其它用pod導(dǎo)入的第三方框架的.framework文件闲坎。
如果 第三方有頭文件,是以 .h .m 的形式出現(xiàn)在 Pods 目錄下的 那么 在橋接頭文件里面 #import " xxxxx/xxxxx.h "茬斧,其它swift文件中用到不需要再import腰懂;并且需要在Link With Library 里面添加 第三方名.framework 文件
如果只有頭文件.h ,該第三方直接是以 .framework 文件 的形式出現(xiàn)在 Pods 目錄下的 那么 則在每個(gè)需要用到的swift文件里 import 就可以了项秉。