Swift_3.0_實戰篇(2)_cocoaPods導入OC第三方

先吐槽一下,Swift 好多坑,不過反而更期待了。
1、Swift語言使用cocoapods配置Podfile文件時要加上use_frameworks!這句代碼,作用是把三方庫打包成靜態庫
2、swift調用oc的三方庫
a、要建立一個橋接文件,然后在target——>build setting中搜索 (這里不多介紹,小白請谷歌)


圖一

之后在橋接文件里面導入第三方OC的頭文件 eg:


圖二.png

如果此刻運行 或許會報錯找不到該第三方的頭文件

之后要設置一個User Header Search Paths,否則在需要用三方庫的地方是調不出來的。在target——>Build Setting里找到search Paths,雙擊User Header Search Paths后面的空白處,設置目錄路徑為${SRCROOT} ,后邊選擇recursive。下圖是我的,加不加“/Pods” 都可以

圖三.png

之后是我遇到的坑
在 TARGETS 選擇Build Phases ,找到 Link With Library
導入 第一個,(是我的第三方)


圖四.png

但是并不是所有的第三方都需要在這里添加,說到這我們要說一下 在 Podfile 里面的添加的 use_frameworks!
用cocoapods 導入swift 框架 到 swift項目和OC項目都必須要 use_frameworks!
(1)如果在Podfile文件里不使用 use_frameworks! 則是會生成相應的 .a文件(靜態鏈接庫),通過 static libraries 這個方式來管理pod的代碼。
(2)如果使用了use_frameworks! 則cocoapods 會生成相應的 .frameworks文件(動態鏈接庫:實際內容為 Header + 動態鏈接庫 + 資源文件)(3)Linked:Pods_xxx.framework包含了其它用pod導入的第三方框架的.framework文件。

如果 第三方有頭文件,是以 .h .m 的形式出現在 Pods 目錄下的 那么 在橋接頭文件里面 #import " xxxxx/xxxxx.h ",其它swift文件中用到不需要再import;并且需要在Link With Library 里面添加 第三方名.framework 文件

如果只有頭文件.h ,該第三方直接是以 .framework 文件 的形式出現在 Pods 目錄下的 那么 則在每個需要用到的swift文件里 import 就可以了。

iOS 靜態庫,動態庫與 Framework 淺析

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 發現 關注 消息 iOS 第三方庫、插件、知名博客總結 作者大灰狼的小綿羊哥哥關注 2017.06.26 09:4...
    肇東周閱讀 12,252評論 4 61
  • 轉載自:https://github.com/Tim9Liu9/TimLiu-iOS[https://github...
    香橙柚子閱讀 8,749評論 0 36
  • 思念是條蔓延的河流,漂流過海,漂流過京城,抵達邊緣; 回憶是條吞咽的蟒蛇,爬行過往,爬行過青春,吞咽幻影, 我們只...
    糖小晚閱讀 114評論 0 0
  • 聽說太原被霧霾籠罩的暗無天日,民不聊生。盡管如此,我還是義無反顧的想回去。 說句實在話,霧、霧霾和陰天,我至今傻傻...
    保質期一天閱讀 363評論 2 1
  • 小時候最喜歡的就是周六可以和家人一起出去吃飯、看電影、動物園、游樂園,各種娛樂,那時賺的錢不多,但很開心。沒有...
    Inga_Sakura醬閱讀 558評論 0 0