Cocoapods方式導入OC庫和swift庫


http://blog.csdn.net/u010291330/article/details/52606233

導入 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沒有報錯則成功。

二、導入OC庫 AFNetworking
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


 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM