1. 程式人生 > >Cocoapods方式匯入OC庫和swift庫

Cocoapods方式匯入OC庫和swift庫

Cocoapods 是 iOS 應用的包管理程式。它簡化了第三方庫的匯入並且將幫你處理庫之間的依賴。在這個教程中,我們將會使用 cocoa pods 匯入 Alamofire(swift庫)和AFNetworking(OC庫)這兩個個第三方庫。本教程的環境基於 iOS8 和 Xcode7.3.1 開啟 Xcode 使用 Single View Application 建立一個專案。專案名稱可以使用 IOS8SwiftCocoapodsTutorial,其他配置項可以自定義。選擇 Swift 作為開發語言,並且裝置項選中 iPhone
新建專案 咱們的這個教程中會用到一個字型,可以從
這裡
下載,並加入到專案中。接下來,關閉 Xcode 專案並開啟終端。首先我們需要安裝 cocoa pods。這個過程將會用到 ruby環境,而 Mac OS X 系統已經自帶了 ruby。ruby -v檢視當前Ruby的版本。在終端中輸入如下命令: sudo gem install cocoapods 譯者注:因某些原因不能安裝成功的同學, ERROR: Error installing cocoapods: activesupport requires Ruby version >= 2.2.2. 可以參考唐巧的這篇部落格 升級ruby版本 如果出現ruby版本升級問題,可以參考ruby升級筆記
然後再次執行sudo gem install cocoapods 下一步clone 專案 pod setup --verbose 一、匯入swift庫Alamofire 首先,搜尋需要的第三方庫是否支援 CocoaPods ,執行命令:
1 $ pod search Alamofire
新建專案CocoaPodsDemo然後進入 Xcode 專案檔案目錄輸入命令pod init新建 Podfile 檔案 pod init
之後需要編輯 Podfile 檔案,讓它包含 FontBlaster 這個第三方庫。使用如下命令開啟它 open -a Xcode Podfile
不要使用文字編輯去編輯Podfile,使用Xcode編輯,或者使用終端敲命令去編輯。 編輯後的 Podfile 檔案如下 # Uncomment this line to define a global platform for your project # platform :ios, '9.0' target 'CocoaPoasDemo' do source 'https://github.com/CocoaPods/Specs.git' platform :ios, '8.0' use_frameworks! pod 'AlamofireImage', '~> 2.0' end 譯者注:這裡的版本號 1.0.8 為譯者加上,FontBlaster 已經支援 Swift 2.0,如果不指定為該版本號,會下載最新的 FontBlaster,這要求 Xcode 7.x版本。如果你使用的是 Xcode6.x 版本,需要指定該版本號。 專案的 target 是 iOS8.0,use_frameworks! 這句是必須的,因為 Swift 使用的是框架而不是靜態庫。pod 'FontBlaster' 告訴 Cocoapods 你想在專案中使用 FontBlaster 。儲存對檔案的修改,並在終端中輸入以下命令pod install,但這裡又會遇到問題了,上網找了之後發現用這個命令已經不行了,用 pod install --verbose --no-repo-update 就可以,前面的被牆啦!! bogon:CocoaPoasDemo frosoft$ pod install --verbose --no-repo-update ......... ......... Sending stats - Alamofire, 3.4.2 - AlamofireImage, 2.4.1 Pod installation complete! There is 1 dependency from the Podfile and 2 total pods installed. bogon:CocoaPoasDemo frosoft$ FontBlaster 和相關依賴都會被自動安裝。 完成後用Xcode開啟.xcworkspace白色檔案,不再開啟.xcodeproj那個藍色檔案
開啟後工程目錄如下,紅色框內仍然是工程檔案:
測試是否引入成功: 在swift檔案中新增import Alamofire沒有報錯則成功。 1、先關閉工程,修改Podfile,新增 pod 'AFNetworking',然後update一下podfile再開啟工程 target 'CocoaPoasDemo' do source 'https://github.com/CocoaPods/Specs.git' platform :ios, '8.0' use_frameworks! pod 'AlamofireImage', '~> 2.0' pod 'AFNetworking' end swift語言使用cocoapods配置Podfile檔案時要加上use_framework!這句程式碼,作用是把三方庫打包成靜態庫
2、建立一個橋接檔案Bridging-Header.h標頭檔案
3、修改標頭檔案內容 #ifndef CocoaPoasDemo_Bridging_Header_h #define CocoaPoasDemo_Bridging_Header_h #import "AFNetWorking.h" #endif /* Bridging_Header_h */ 4、設定一個User Header Search Paths,否則在需要用三方庫的地方是調不出來的。在target——>Build Setting裡找到search Paths,雙擊User Header Search Paths後面的空白處設定目錄路徑為${SRCROOT}   ,後邊選擇recursive。
5、測試匯入是否成功:import AFNetworking