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

 

posted @ 2017-04-12 11:21  encoreMiao  阅读(157)  评论(0编辑  收藏  举报