1.初次安装CocosPods的同学可参考这里(地址一,地址二(最新))
cocosPods安装好之后开始进行xcode工程关联操作:
1.打开终端,输入cd命令进入指定的文件(快捷操作:直接将文件夹拖到终端里)进行操作。
2.继续在终端输入 touch 命令,这时候会在你的工程所在文件夹生成一个Podfile文件,没有后缀。
3.双击Podfile,在Podfile中输入平台:ios (注:ios三个字母均是小写)和需要导入的第三方库,例如AFNetworking (单引号双引号均可)如图:(注意:oc为你的项目名称)
然后保存(command+s)后退出该文件进行下一步
4.在终端执行pod install --verbose --no-repo-update或者pod update --verbose --no-repo-update
5.在文件夹中就会出现workspace那个文件夹点击打开工程就OK了
2.在协同开发中,CocosPods 框架管理工具生成的四个文件是否需要提交的问题
但是官方文档是要求 Podfile.lock 文件也一并提交 官方
3.cocoapods更新了新版本后,会在安装库时候遇到类似这样的问题:
The dependency `AFNetworking (~> 3.0.4)` is not used in any concrete target.
解决办法:加入具体的目标其实就是明确的和你的工程建立联系,在你的Podfile中(建议使用xcode工程中的Podfile文件,因为在工程中有字体颜色差异更加容易辨别,而在记事本上没有层次感容易出错)这样修改注意第一行和最后一行
target '你的工程名' do
pod 'AFNetworking', '~> 3.0.4'
pod 'IQKeyboardManager', '~> 4.0.1'
end
然后重新pod install 就好了
另外注意:pod update 会十分耗时,会升级CocoaPods的spec仓库,加一个参数可以省略这一步,然后速度就会提升不少。加参数的命令如下:
pod install --verbose --no-repo-update
pod update --verbose --no-repo-update
4.如果工程中途引入CocosPods怎么做?
需要将之前手动加入的库进行删除,确保删除干净了,再通过Podfile文件加入想添加的库,通过终端命令 pod install --verbose --no-repo-update
自己的项目刚开始搭建的时候没有导入pod,后来中间想用pod ,结果是在Podfile中添加完一个库,在终端进行 pod update 后,去删除之前手动拖进去的库,run ,竟然报错了,看看图是怎么报错的
根据经验判断是缺少依赖库,但是这个SDwebimage之前如果手动拖入的话,不需要添加什么依赖库啊,就奇怪,后来经过百度和其他的一些查找,发现,如果中途添加pod,删除之前手动添加的,系统已经将这个库自动变成了一个动态库 .framework ,所以要在link binary with Libraries中添加这个动态库就可以了。
这样就OK了,以后想加的库直接通过Podfile操作就好了
5.使用pod,import导入时没有提示的解决办法
1.选择target(就是左边你的工程target)—— BuildSettings —— search Paths 下的 User Header Search Paths(如图所示:)
2.双击区域4后边的空白区域.
3.出现下面的图,并且点击“+”号添加一项:并且输入:“$(PODS_ROOT)”(没有引号),选择:recursive(会在相应的目录递归搜索文件):
现在可以直接导入头文件了。
6.下载别人的demo报错问题
1.在开发中,我们会经常从网上下载一些demo,进行学习和使用,会遇到一些经典的报错,比如
diff: /../Podfile.lock: No such file or directory diff: /Manifest.lock: No such file or directory error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.
2.解决办法:从终端敲入cd ->进入你的工程目录(可直接拖进终端)->pod install --verbose --no-repo-update.
参考1: 骆昊的技术博客
参考2:更新Mac Ruby到新版
网友评论