Cocoapods的使用与移除

本文详细介绍了如何安装和使用CocoaPods管理iOS项目的第三方库,包括配置Ruby源、编辑Podfile文件及常见问题解决方法。

一、安装cocoapods:

CocoaPods是以Ruby gem包的形式被安装的。在安装执行的过程中,可能会问我们是不是更新rake,输入y即可。这是因为rake gem包会在安装的过程中检查更细,如果有可用的新版本就会出现刚才的选项。

安装cocoapods
$ sudo gem install cocoapods 

如果提示没有权限就执行如下命令:
$ sudo gem install -n /usr/local/bin cocoapods

在安装进程结束的时候,执行命令:

$ pod setup 

gem是管理Ruby库和程序的标准包,如果它的版本过低也可能导致安装失败,解决方案自然是升级gem,执行下述命令即可:

$ sudo gem update --system  

安装完成后需要更新Ruby的源,用如下的代码将官方的Ruby的源替换成国内淘宝的源:

gem sources --remove https://rubygems.org/
gem sources -a https://ruby.taobao.org/
gem sources -l

要想验证是否替换成功了,可以执行:

$ gem sources -l

正常的输出是:

*** CURRENT SOURCES ***  

  
http://ruby.taobao.org/  

升级cocoapods:

升级很简单,再次执行安装命令即可:

$ sudo gem install cocoapods

如果提示没有权限就使用如下命令:
$sudo gem install -n /usr/local/bin cocoapods

二、cocoapods的使用

1、创建Podfile文件

CocoaPods的一切都是从一个名为Podfile的文件开始的,我们需要创建这个文件(把Podfile文件放在工程目录下):

$ cd Desktop/YF
$ touch Podfile

2、编辑Podfile文件,根据需要,我们可以在Podfile文件中写入需要用到的第三方库(如果指定版本就下载指定版本的,如果不指定版本就下载最新的版本)

注:编辑Podfile文件一定要用英文标点符号,否则会报链接错误

platform :ios, '8.0' # ios系统版本
inhibit_all_warnings! #禁止第三方库显示警告
use_frameworks!#swift框架不支持生成.a文件,所以加上这句让其生成.frameworks

target 'YMShare' do
pod 'GPUImage'
pod 'AFNetworking'#网络请求
pod 'MJRefresh' #上下拉刷新
pod 'FMDB'
pod 'SVProgressHUD' #alert提醒
pod 'Masonry' #屏幕适配
pod 'SDWebImage' #加载网络图片
pod 'SAMKeychain' #缓存本地账号密码, 自动登录
pod 'IQKeyboardManager' #键盘管理

end

3、执行导入命令

$ pod install

注意:(如果添加新的库需要执行导入命令:pod install)

1、使用Cocoapods生成的.xcworkspace文件来打开工程,而不是以前的.xcodeproj文件。

2、每次更改了Podfile文件,你都需要重新执行一次pod update命令

(更新单个库:pod update MJRefresh)。

无论是执行pod install还是pod update都很慢,原因在于当执行以上两个命令的时候会升级CocoaPods的spec仓库,加一个参数可以省略这一步,然后速度就会提升不少。加参数的命令如下:

pod install --verbose --no-repo-update

pod update --verbose --no-repo-update

3、在项目中添加依赖库之后,是不能直接找到头文件的,需要进行设置:

Target > Build Setting > User Header Search Paths 中添加变量:${SRCROOT},并设置recursive.

三、移除Cocoapods

1、编辑Podfile文件,清除里面所有库,然后终端输入:pod install。这时会清空第三方库和相关依赖库。2、删除之前的4个文件,Podfile、Podfile.lock、Pods文件夹和.xcworkspace文件。
3、然后打开.xcodeproj,删除项目中的libpods.a和Pods.xcconfig引用。

4、TARGETS - Build Phases 删除有关pods的选项,至此完成删除

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

使用过程中遇到的问题:

1、

当把CocoaPods生成的workspace移动到上层目录时遇到这个问题:

  1. Could not automatically select an Xcode project. Specify one in your Podfile like so:   
  2. xcodeproj 'path/to/Project.xcodeproj'  

Podfile文件里指定下工程目录就行了,比如我在Podfile文件添加这行就行了:

workspace ‘YF.xcworkspace'

上面的workspace ‘YF.xcworkspace’的意思是:指定‘YF.xcworkspace’这个工作空间的位置在打开的文件夹的根目录(相对路径)

2、

这两个警告直接导致报错:

library not found for -lPods

解决办法:在Build Settings -> Other linker flags 中添加$(inherited)

3、use_frameworks! 的作用是告诉CocoaPods使用.frameworks来代替.a静态库。但是会导致报错:Framework not found AFNetworking

转载于:https://my.oschina.net/yejiexiaobai/blog/804497

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值