CocoaPods 命令
pod init 在新建的項目根目錄下運行該命令,為當前項目新建podfile文件。
pod install 下載和配置 podfile里定義的項目依賴(不包括已經下載和配置的項目依賴)。(新建podfile.lock文件)並將每個依賴的版本信息記錄在podfile.lock文件中。為項目新建.xcworkspace文件。
pod outdated 列出比podfile.lock文件中記錄的版本要新的項目。
pod update [依賴項目名稱] 將某個依賴更新到最新版本 直接pod udate就把所有依賴都更新到最新版本。
CocoaPods 使用
使用CocoaPods的項目比不使用的項目多了四個文件:分別為podfile文件、podfile.lock文件、.xcworkspace文件以及一個Pods文件夾。
podfile文件為項目的每個target定義(在不同的iOS版本上運行時)所需要的依賴項目。podfile.lock文件用於記錄當前項目每個依賴項目的版本,保證該項目的版本信息不被改變。.xcworkspace文件為使用CocoaPods之后項目的啟動文件,記錄的所有項目文件之間的關系。Pods文件夾是項目的依賴存放的地方。
在項目中使用CocoaPods的關鍵在於新建一個profile文件。有了profile文件,其余的使用一句命令就可以自動完成。
1、新建項目並使用CocoaPods
在新建的項目根目錄下運行該命令pod init命令。自動會在項目根目錄下生成profile文件。至此完成了使用CocoaPods的准備工作。
接下來就是打開profile文件,定義依賴,並且運行pod install命令,就會為項目生成使用上面介紹的podfile.lock文件以及.xcworkspace文件。
2、已有項目使用CocoaPods
手動在項目根目錄下新建profile文件,定義相關依賴,然后運行pod install,也會生成上述三個文件。
注意事項
1、初次使用
初次使用CocoaPods的pod install命令,CocoaPods自身會自動進行初始化。初始化所做的其實就是把github上的整個依賴庫下載到本地路徑/users/用戶名/.cocoapods/repos/master文件夾下。但是在國內是不行的,被牆,也就是會一直卡在CocoaPods set up master repo這句話上不動了,或者過了很久給你報錯說unable to install bla bla bla …這時可以上github上下載(地址:https://github.com/CocoaPods/Specs),然后把下載到的內容自己復制到這個路徑下就好了(或者讓其他已經用上CocoaPods的人airdrop過來比下載更快,畢竟文件好大。。)。master下文件結構如圖:
上圖中,Specs就是整個依賴庫。
2、版本控制
podfile.lock文件應該始終參與版本控制。
profile文件的基本語言格式
1、基本格式
為某個target定義依賴的格式
最簡單的例子:
target 'MyApp' do
pod 'AFNetworking', '~> 3.0'
pod 'FBSDKCoreKit', '~> 4.9’
end
1
2
3
4
繼承大do - end之間定義的依賴項目
target 'MyApp' do
pod 'GoogleAnalytics', '~> 3.1'
target 'MyAppTests' do
inherit! :search_paths
pod 'OCMock', '~> 2.0.1'
end
end
1
2
3
4
5
6
7
上面MyAppTests也依賴GoogleAnalytics。
定義多個target共享的依賴項目使用abstract_target
# There are no targets called "Shows" in any Xcode projects
abstract_target 'Shows' do
pod 'ShowsKit'
pod 'Fabric'
# Has its own copy of ShowsKit + ShowWebAuth
target 'ShowsiOS' do
pod 'ShowWebAuth'
end
# Has its own copy of ShowsKit + ShowTVAuth
target 'ShowsTV' do
pod 'ShowTVAuth'
end
end
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
上面的Shows只是個標識,並不存在這樣的target。但在它的do-end之間定義的其他的target會共享這個abstract_target所定義的依賴。
定義項目中所有target都使用的依賴項目
直接不加任何修飾地定義就可以了,如下:
pod 'ShowsKit'
pod 'Fabric'
# Has its own copy of ShowsKit + ShowWebAuth
target 'ShowsiOS' do
pod 'ShowWebAuth'
end
# Has its own copy of ShowsKit + ShowTVAuth
target 'ShowsTV' do
pod 'ShowTVAuth'
end
1
2
3
4
5
6
7
8
9
10
11
12
2、項目版本的指定
- 指定某個版本:
pod ‘項目名稱’, ‘版本號’
如:
pod 'Objection', '0.9'
給出版本范圍
符號>、>=、<、<=都能用,
如:
'> 0.1'
符號~>用法見如下例子:
'~> 0.1.2'
表示范圍為>=0.1.2&&<0.2
'~> 0.1'
表示范圍為>=0.1&&<1
3、添加本地項目作為依賴
如:
pod 'Alamofire', :path => '~/Documents/Alamofire'
以上例子全部來自官網。
---------------------
作者:ohyeahhhh
來源:CSDN
原文:https://blog.csdn.net/ohyeahhhh/article/details/51878549
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!