[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!

相关文章
相关标签/搜索