我的cocoapods安装和使用

来源:互联网 发布:老公寄存处 知乎 编辑:程序博客网 时间:2024/04/29 19:20
一.安装开始啦-------------->>>>>>>(可以直接复制粘贴下面的命令)
1.打开终端
2.开始安装,如果报错开始下一步
sudo gem install cocoapods
3.移除原有的网站来源
gem sources --remove https://rubygems.org/ 
4.替换成淘宝的(注意:最近淘宝把http改成https了)
gem sources -a https://ruby.taobao.org/
2016/11/1  更新ruby  https://gems.ruby-china.org
gem sources -a https://gems.ruby-china.org/
5.再次安装
sudo gem install cocoapods
6.打完收工.
会出现一大堆命令显示下载进度等
二.开始使用啦
1.输入 pod search AFNetworking
出现下面的文字----------Setting up CocoaPods master repo

说明Cocoapods在将它的信息下载到 ~/.cocoapods里;cd  到该目录里,用du -sh *命令来查看文件大小,每隔几分钟查看一次,这个目录最终大小是100多M,就是完成了 .

我的操作是:(1)cd /Users/imac/.cocoapods (2)du -sh * (3)得到大小为291M

2. cd /Users/imac/Desktop/cocoaPodsDemo -----回车(直接把文件夹拖进去就会自动拿到路径)

3.输入 vim Podfile

键盘输入 i,进入编辑模式,输入

platform :ios, '7.0'  //你要在ios哪个版本运行

target 'HMAPP' do  pod 'AFNetworking', '~> 2.6'  pod 'ORStackView', '~> 3.0'  pod 'SwiftyJSON', '~> 2.3'end
//你要下载的版本<<<<<<<<注意:这里的AFNetworking上面是单引号>>>>>>>

4.按Esc,并且输入“ :”号进入vim命令模式,然后在冒号后边输入wq

注意:键盘输入 :后,才能输入wq。回车后发现PodTest项目总目录中多一个Podfile文件

5.输入 pod install (pod install --verbose --no-repo-update建议使用)

6.导入成功.打开.xcworkspace而不是.xcodespace

三.不想用,我要删除

1. 删除工程文件夹下的Podfile、Podfile.lock及Pods文件夹

2. 删除xcworkspace文件

3. 使用xcodeproj文件打开工程,删除Frameworks组下的Pods.xcconfig及libPods.a引用

4. 在工程设置中的Build Phases下删除Check Pods Manifest.lock及Copy Pods Resources

5.删除Embeded Pods Frameworks.(不删除编译不能通过)

注意事项:

1.CocoaPods的基本安装及使用都详细的说明了,但还有一些补充,当需要同时导入多个第三方时候怎么办 ?

这就需要修改Podfile了,就是用vim编辑的那个保存在项目根目录中的文件,修改完了Podfile文件,需要重新执行一次pod install命令。

例如:

platform :ios

pod 'JSONKit',       '~> 1.4'

pod 'AFNetworking',  '~> 2.0'

2.

1)使用cocoapods导入第三方类库后头文件没有代码提示?

解决办法: 选择Target -> Build Settings 菜单,找到 User Header Search Paths 设置项,新增一个值 ${SRCROOT},并且选择 Recursive

2)出现如下警告

[!] Your Podfile has had smart quotessanitised. To avoid issues in the future, you should not use TextEdit forediting it. If you are not using TextEdit, you should turn off smart quotes inyour editor of choice.

解决办法:不要使用文本编辑去编辑Podfile,使用Xcode编辑,或者使用终端敲命令去编辑。

3) 执行pod install 或pod update 命令后,updating local specsrepositories 卡住不动

解决办法:pod install 被墙了,换成新的命令pod install --verbose --no-repo-update

4) 项目运行时报错:Thefile “Pods.xcconfig” couldn’t be opened because there is no such file.

解决办法:pod update就可以了

5)[!] /usr/bin/git clone https://github.com/CocoaPods/Specs.git master Cloning

error: RPC failed; curl 56 SSLRead() return error -36
执行 sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer (-switch 后面加上你的Xcode.app包内容里的Developer的文件夹路径即可)

3.

安装Cocoapods,在终端输入命令

$sudo gem install cocoapods

这个时候会提示你输入密码,注:在终端输入密码不会有提示,光标也不会移动,一定要注意

//下面的是刚刚转载的。。。。。。。。

场景2:如何正确编译运行一个包含CocoPods类库的项目

你也许曾经遇到过(特别是新手iOS开发者)这种情况,好不容易在GitHub上找到一份代码符合自己想需求,兴冲冲下载下来,一编译,傻眼了,发现有各种各样错误。一看,原来是缺失了各种其他第三方类库。这时候莫慌,你再仔细一看,会发现你下载的代码包含了Podfile。没错,这意味着你可以用CocoaPods很方便下载所需要的类库。

下面,小编以代码 UAAppReviewManager 为例来说明如何正确编译运行一个包含CocoPods类库的项目。

UAAppReviewManager是一个能够让你方便地将提醒用户评分的功能加入你的应用中。当你去UAAppReviewManager的GitHub地址下载这份代码之后,打开Example工程(UAAppReviewManagerExample),编译,你会发现Xcode报告一大堆错误,基本都是说你编译的这份代码找不到某某头文件,这就意味着你要成功编译UAAppReviewManager的Example代码,必须先导入一些第三方类库。同时你会发现在UAAppReviewManagerExample文件夹下面有三个跟CocosPods相关的文件(文件夹):Podfile,Podfile.lock和Pods,如下图:

Figure 6

这时候,打开终端,进入UAAppReviewManagerExample所在的目录,也就是和Podfile在同一目录下,和场景1一样,输入以下命令(由于已经有Podfile,所以不需要再创建Podfile):

$ pod update

过几秒(也许需要十几秒,取决于你的网络状况)之后,终端出现:

Analyzing dependenciesFetching podspec for `UAAppReviewManager` from `../`Downloading dependenciesInstalling UAAppReviewManager (0.1.6)Generating Pods projectIntegrating client project[!] From now on use `UAAppReviewManagerExample.xcworkspace`.

这时候,再回到UAAppReviewManagerExample文件夹看一看,会看到多了一个文件UAAppReviewManagerExample.xcworkspace:

Figure 7

根据终端的信息提示,你以后就需用新产生的UAAppReviewManagerExample.xcworkspace来运行这个Example代码了。

打开UAAppReviewManagerExample.xcworkspace,编译运行,成功!如下图:

Figure 8

注意,这里有个小问题,如果刚刚你不是输入$ pod update,而是输入$ 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

0 0
原创粉丝点击