[Cocoapods] 早就有CDN了,還在用鏡像?

場景

爲了提供pod install的速度,常規操做都會切換到國內的鏡像git

$ cd ~/.cocoapods/repos 
$ pod repo remove master
$ git clone https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git master
複製代碼

官方難道看不到嗎?速度這是剛需😂github

CDN

1.7.2開始,已經徹底切到CDN上了。(我對CDN不熟,總之就是提速了,比以前快了,不用換鏡像了) 1.8以上甚至把CDN做爲默認源bash

使用,在Podfile最上面添加便可markdown

source 'https://cdn.cocoapods.org/'
複製代碼

實際體驗,確實快了很多網絡

project_name Podfile DSL

install! 'cocoapods', :generate_multiple_pod_projects => true

target 'MyApp' do
  use_frameworks!

  pod 'Moya', :project_name => 'Networking'
  pod 'Alamofire', :project_name => 'Networking'
  pod 'Result', :project_name => 'Networking'

  target 'MyAppTests' do
    inherit! :search_paths
    pod 'OCMock', :project_name => 'Testing'
  end
end
複製代碼

官方教程寫得很詳細了, 我只取了目前對我有用的兩點oop

1.install! 'cocoapods', :generate_multiple_pod_projects => true

改變了庫的依賴方式,以前是以Targets方式依賴post

使用了這個功能後,所有改變成項目的形式依賴了 spa

聽說這樣作能夠提升解析速度,這位老哥分享的3d

2.分組project_name

這個是爲了加強第一個出的新功能,改變依賴的同時,分組。使某些相同功能的庫能分在同一個項目下面。code

pod 'Moya', :project_name => 'Networking'
  pod 'Alamofire', :project_name => 'Networking'
  pod 'Result', :project_name => 'Networking'

複製代碼

內部依賴庫不能分組?

若是某一個庫內部依賴了其餘庫,是不能分組到目的項目中的。不過問題也不是很大,若是真的較真,非要把它分出來。能夠把內部依賴庫再pod指向一下。

YYWebImage爲例子,內部依賴了YYCacheYYImage

pod 'YYWebImage', :project_name => 'Image'
複製代碼

若是隻設置了YYWebImageImage項目中去,那麼YYCacheYYImage就會跑到外面去,不夠完美😂,能夠把內部依賴也指向一下

pod 'YYWebImage', :project_name => 'Image'
  pod 'YYCache', :project_name => 'Image'
  pod 'YYImage', :project_name => 'Image'
複製代碼

這樣全部的都放在一個項目中了🎉

2019.11.19 更新

好像部分老哥也沒有體驗到快了,那麼速度是否真的比鏡像快,可能要打上問好❓ 不過惟一的好處就是官方支持,不會擔憂哪天不維護了。

而後我看到部分老哥評論說失敗的狀況,我從新寫了個demo試了下,確實會出現莫名的失敗

好比我安裝到Masonry時就失敗了,😂,不知道是否是網絡問題。而後再次pod install又好了。

[!] Error installing Masonry
[!] /usr/bin/git clone https://github.com/cloudkite/Masonry.git /var/folders/n6/_ynn7k9j6y383r7q5wnkjgl80000gn/T/d20191119-8908-dfsdoo --template= --single-branch --depth 1 --branch v1.1.0

Cloning into '/var/folders/n6/_ynn7k9j6y383r7q5wnkjgl80000gn/T/d20191119-8908-dfsdoo'...
fatal: unable to access 'https://github.com/cloudkite/Masonry.git/': Operation timed out after 300012 milliseconds with 0 out of 0 bytes received
複製代碼

感謝

開啓 Cocoapods 新選項,加快項目索引速度

CocoaPods 1.8 Beta is Here!

相關文章
相關標籤/搜索