CocoaPods 命令和使用


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
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!


免責聲明!

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



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