CocoaPods 看我就够了😄

1.初次安装CocosPods的同学可参考这里(地址一地址二(最新))

因为pod 要通过RubyGems来安装,而Mac 系统自带了这个,ruby的软件源rubygems.org因为使用亚马逊的云服务,所以需要更换成国内的,

大概几个步骤:

1.gem sources -l #        (查看当前ruby的源)

2.gem sources --remove https://rubygems.org/ #      (移除当前ruby的源)

3.gem sources -a https://ruby.taobao.org/ #   (设置当前ruby的源为我天朝的)

但是这个地址有可能会变化,之前就遇到过一次,taobao重定向了这个地址,所以这个如果报错 404之类的错误的话,就需要更换成最新的,目前最新的是:

gem sources -a https://gems.ruby-china.com

所以需要用这个代替第3步的命令,注意这个。

看到下面的说明就已经设置好了ruby源

*** CURRENT SOURCES ***

https://gems.ruby-china.com

接下来就是安装cocopod 了

sudo gem install cocoapods

看到下面截图说明pod 安装成功

pod安装成功

如果安装过程报错,可参考文章开头的地址二中的相关解决方案。


cocosPods安装好之后开始进行xcode工程关联(如果没有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到新版



最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 项目组件化、平台化是技术公司的共同目标,越来越多的技术公司推崇使用pod管理第三方库以及私有组件,一方面使项目架构...
    swu_luo阅读 22,305评论 0 39
  • 什么是cocoapods CocoaPods是一个用来帮助我们管理第三方依赖库的工具。它可以解决库与库之间的依赖关...
    VV木公子阅读 7,095评论 0 7
  • CocoaPods 是什么? CocoaPods 是一个负责管理 iOS 项目中第三方开源库的工具。CocoaPo...
    朝洋阅读 25,752评论 3 50
  • 一、创建的github仓库原文地址 1 进入Github网站www.github.com登陆自己的账号后 2 建立...
    freesan44阅读 3,983评论 2 12
  • (一)情恋 那一年 我们彼此相识 也许是 那一次回眸 彼此间的期盼 命运那无形之手 把你我拉近 那一天 相约木棉树...
    wu枫阅读 300评论 0 0