Cocoapods笔记
1 Pod 安装
pod 'AFNetworking', '~> 3.1.0’ 执行pod install之后
提示
The dependency `AFNetworking (~> 3.1.0)` is not used in any concrete target.
所以:要注意指定pods使用的target。
还有另外一种写法
def pods
pod 'AFNetworking', '~> 2.6'
pod 'ORStackView', '~> 3.0'
pod 'SwiftyJSON', '~> 2.3'
end
target 'MyApp' do
pods
end
如果多个target都使用同一个pods以来库,可以使用link_with 'CocoaPodsTest', 'Second' 来实现。
2 如何纳入git 管理
通常只纳入podfile和podfile.lock即可。下载项目只需pod install或update即可。
注意,此时应将Pods/放到忽略文件中
3 pod install和upadate源码跟踪:http://www.jianshu.com/p/f1e396849e9f
源码:https://github.com/CocoaPods/CocoaPods
官网:https://guides.cocoapods.org/using/getting-started.html
4 cocoapods :http://www.cocoachina.com/industry/20140623/8917.html
pod install安装过程
Cocoapods会使用递归来分析所有的需求,简历一个代码相关性的图,最后将podfile序列化为podfile.lock。如果两个库都需要使用AFNetworking,cocoaPods会确定一个同时能被这两库使用的版本,然后将同一安装版本链接到两个不同的库中。它会创建一个新的包涵之前安装好的静态库xcode项目,然后将它们链接曾一个新的ibPods.a target,所原有的项目会以来这个新的静态库。
5 cocoapods详解/进阶/制作。http://blog.csdn.net/wzzvictory/article/details/20067595
Podfile.lock用来保存已经安装的Pods以来库的版本。
如果想要更换最新的依赖库,那么可以更改Podfile指向最新版本的依赖库,随后执行update命令。
Pod setup 用于更新本地电脑上保存的Pods以来库tree。每天都会有很多人创建或者更新Pods依赖库,这条命令执行的时候会相当慢,还需要耐心等待。我们需要经常执行这条命令,否则有新的Pods依赖库的时候执行pod search命令是搜不出来的。
ps:
当pod setup 进入Setting up CocoaPods master repo 等待的时候表示正在下载了,此时你可通过新开一个终端窗口,输入"cd ~/.cocoapods/"命令行跳到cocoapods文件夹内,执行"du -sh *"查看正在下载的文件夹的大小。
删除master分支 重新建立新的分支
sudo rm -fr ~/.cocoapods/repos/master
删除~/Library/Caches/CocoaPods目录下的search_index.json文件
pod setup
成功后,依然不能pod search
,是因为之前你执行pod search
生成了search_index.json,此时需要删掉。- 终端输入:rm ~/Library/Caches/CocoaPods/search_index.json
- 删除成功后,再执行
pod search
。
原文:http://www.cnblogs.com/wayne23/p/3912882.html
每次更改了Podfile文件,都需要重新执行一次pod install 或者pod update。
ps:这里有个小问题,如果有时候输入$ pod install
,会发现类库导入不成功,并且终端出现下面提示:
[!] Required version (UAAppReviewManager (from `../`)) not found for `UAAppReviewManager`.
Available versions: 0.1.6
这里的意思大概是Podfile文件过期,类库有升级,但是Podfile没有更改。$ pod install
只会按照Podfile的要求来请求类库,如果类库版本号有变化,那么将获取失败。但是 $ pod update
会更新所有的类库,获取最新版本的类库。而且你会发现,如果用了 $ pod update
,再用 $ pod install
就成功了。
那你也许会问,什么时候用 $ pod install
,什么时候用 $ pod update
呢,我又不知道类库有没有新版本。好吧,那你每次直接用 $ pod update
算了。或者先用 $ pod install
,如果不行,再用 $ pod update
。