簡體   English   中英

CocoaPods如何只安裝一個新庫

[英]CocoaPods how to install only one new library

我的Pod文件中有一個庫列表。 我決定在Pod文件中添加新的。 但我想保留以前的所有圖書館沒有更新,只需安裝(添加)這個庫

pod 'JSAnimatedImagesView', '~> 1.0.0'

所以pod updatepod install所有庫更新到更新版本,但我不想更新它們只需安裝pod 'JSAnimatedImagesView', '~> 1.0.0'

pod install --no-repo-update

這將安裝新項目而不更新現有的repos(版本化或不版本化)。

如果你有很多回購並希望快速安裝新產品,它也會更快。

(截至2019年3月15日)

要安裝1個新pod:將1個所需的新pod添加到Podfile中。 然后運行:

pod install --no-repo-update

運行此程序時,它不會更新任何其他pod

如果您不想更新特定庫,則應將其鎖定在要保留的版本中

pod 'AFNetworking', '1.2.0'
pod 'JSAnimatedImagesView', '~> 1.0.0'

AFNetworking保留在V1.2.0上,但獲取最新的JSAnimatedImagesView

這使得podfile可以轉移到其他位置(和開發人員),並使您免於忘記還原podfile,直到您打算更新pod

從項目開始時,您可能希望使用最新版本的Pod。 如果是這種情況,只需省略版本要求即可。

pod 'SSZipArchive'

稍后在項目中,您可能希望凍結到Pod的特定版本,在這種情況下,您可以指定該版本號。

pod 'Objection', '0.9'

更多信息http://guides.cocoapods.org/syntax/podfile.html#pod

您可以嘗試使用更新命令https://guides.cocoapods.org/terminal/commands.html#pod_update

pod update [POD_NAMES ...]

更新由指定的POD_NAMES標識的Pod。 如果未指定POD_NAMES,則會更新所有Pod,忽略Podfile.lock的內容。

將新的pod repo添加到podfile並使用bellow命令

pod install

示例窗體pod安裝與pod更新的來源

場景示例

下面是一個場景示例,用於說明在項目生命周期中可能遇到的各種用例。

階段1:User1創建項目

user1創建一個項目,並希望使用pod A,B,C。 他們使用這些pod創建Podfile,然后運行pod install。

這將安裝pod A,B,C,我們會說它們都是1.0.0版本。

Podfile.lock將跟蹤它,並注意A,B和C各自安裝為版本1.0.0。

順便說一句,因為這是他們第一次運行pod安裝並且Pods.xcodeproj項目尚不存在,該命令還將創建Pods.xcodeproj和.xcworkspace,但這是命令的副作用,而不是它的主要作用。

第2階段:User1添加了一個新的pod

之后,user1想要將Pod D添加到其Podfile中。

因此他們應該在之后運行pod安裝,這樣即使pod B的維護者從第一次執行pod安裝后發布了他們的pod版本1.1.0,該項目將繼續使用版本1.0.0 - 因為user1只想添加pod D,沒有意外更新pod B的風險

這是有些人弄錯了,因為他們在這里使用pod更新 - 可能會認為這是“我想用新的pod更新我的項目”? - 而不是使用pod安裝 - 在項目中安裝新的pod。

第3階段:User2加入項目

然后,之前從未參與過該項目的user2加入了團隊。 他們克隆存儲庫然后使用pod安裝。

Podfile.lock的內容(應該提交給git repo)將保證它們將獲得完全相同的pod,其版本與user1使用的完全相同。

即使版本1.2.0的pod C現在可用,user2也將獲得版本1.0.0中的pod C. 因為這是在Podfile.lock中注冊的內容。 pod C由Podfile.lock鎖定到1.0.0版(因此該文件的名稱)。

第4階段:檢查pod的新版本

稍后,user1想要檢查是否有可用於pod的更新。 他們運行pod過時,告訴他們pod B有一個新的1.1.0版本,pod C有一個新的1.2.0版本發布。

user1決定他們想要更新pod B,但不是pod C; 因此,他們將運行pod更新B,它將B從版本1.0.0更新到版本1.1.0(並相應地更新Podfile.lock),但將pod C保留在1.0.0版本中(並且不會將其更新為1.2。 0)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM