终端方式集成第三方库
1、打开终端,转到当前工程所在的文件夹。
方式一:
【访达】->【服务】->【系统偏好设置】
->勾选【新建位于文件夹位置的终端标签 】和【新建位于文件夹位置的终端窗口】
(注:一个终端窗口可以包含多个终端标签)
->选中项目文件夹,鼠标右键选择->【服务】->【新建位于文件夹位置的终端窗口】
方式二:
使用【command】+【空格】或者屏幕右上方的搜索图标,出现搜索框。
输入【terminal】(仅输入ter即可)后,点击【enter】键,打开终端。
输入: cd +【拖入项目文件夹至终端】,点击【enter】键
2、搜索载入的第三库
$pod search 第三方库名
如果搜索不到,则输入
1 $rm ~/Library/Caches/CocoaPods/search_index.json 2 $pod search 第三方库名
3、新建 Podfile文件
方式一:创建具有一定格式的模版的Podfile文件
$pod init
方式二:创建空白文件
$touch Podfile
4、编辑Podfile文件
$vim Podfile
Podfile文件格式
1 #最低支持的 iOS 版本 2 platform :ios, '8.0' 3 #Swift项目(或者混编项目)需要将库转换为frameworks才能使用 4 #用的时候将use_frameworks!前的#去掉即可 5 #use_frameworks! 6 #添加第三方库的target 7 target '项目名称' do 8 #框架列表 9 #如果指定版本号,格式如下: 10 pod 'JTAppleCalendar', '~> 6.0' 11 #如果不指定版本号,会自动下载最新版本,格式如下: 12 pod 'JTAppleCalendar' 13 end
示例:
1 platform :ios, '12.0' 2 use_frameworks! 3 4 target 'DemoApp' do 5 source 'https://github.com/CocoaPods/Specs.git' 6 pod 'PKHUD', '~> 4.0' 7 end
带#的部分是注释,可以删除,进入编辑状态,将要下载的第三方信息粘贴在【target】 和 【end】之间;
其中target 后的名字是项目的名称,编辑时 按键盘【 i 】是进入编辑模式 ,编辑完之后 按 【esc】 退出编辑 ,输入【:wq】即可退出,
1 :w 保存到硬盘 2 :q 退出 3 :q! 强制退出不保存 4 :wq 写入并退出 5 :wq! 强制写入并退出 6 :x 写入并退出
5、安装第三方库
在项目中第一次使用CocoaPods,进行安装时,使用此命令,
在Podfile中增加或删除某个pod后, 也是使用此命令。
$pod install
- 每次运行
pod install
命令, 下载并安装新的pod时, 它会为Podfile.lock
文件中的每个pod写入已安装的版本. 此文件跟踪每个pod的已安装版本并锁定这些版本(.lock命名因此而来). - 当运行
pod install
,它只解析Podfile.lock
中尚未列在其中的pod的依赖库.- 对于已经在
Podfile.lock
中列出的pod,Podfile.lock
不会尝试检查是否有更新的版本. - 对于尚未在
Podfile.lock
中列出的pod, 会搜索与Podfile
(如中所述pod ‘MyPod’, ‘~>1.2’)匹配的版本或最新的版本.
- 对于已经在
注: 第一次运行pod install
的时候, .xcworkspace项目
和Pods目录
还不存在, pod install
命令也会创建.xcworkspace
和Pods目录
, 但这是pod install
命令的顺带作用
,而不是它的主要作用
.
当执行上述命令的时会升级CocoaPods的spec仓库,加一个参数可以省略这一步,提升速度
$ pod install --verbose --no-repo-update
更新特定的pod时使用的命令
$pod update
使用pod update PODNAME, 将只能更新特定的pod(检查是否存在新版本并相应地更新pod).
相反, pod install不会尝试更新已安装的pod的版本.
当向Podfile中添加一个pod时, 应该运行pod install, 而不是用pod update来安装这个新pod.
只有在想要更新特定pod(或所有的pod)的版本时才会使用pod update.
6、必须提交的 Podfile.lock
有时候可能你不想提交Pods目录到源代码管理中. 但是在多人开发的情况下, 一定要提交 Podfile.lock这个文件,
因为这个文件里面记录了你的Podfile中所有pod的版本信息.
为避免你的Podfile中的pod版本和别人的Podfile中的pod发生版本不一样的情况,
而导致出现函数找不到或者其他的错误.
7、安装过cocoaPods的项目,用缀为【.xcworkspace】文件打开
8、导入文件
1 //表示引用本地文件:自己创建的文件 2 #import "" 3 4 //表示引用库文件:系统文件 5 #import <>
在Xcode工程中使用cocoaPods引入的库,应该使用哪一种呢?答案是使用<>。
因为使用cocoaPos导入的库,也算是系统引用库的一种。
9、增、删、改 第三方库
$vim Podfile
添加:增加一条对应的pod语句:pod 'AFNetworking', '3.1.0'
删除:直接把这一条语句移除
添加、删除执行
$pod install
修改:直接修改对应的版本号
修改执行
$pod update
或更新指定的库
$pod update 库名
10、移除工程中的CocoaPods
(1)、删除项目文件夹中的【Podfile】、【Podfile.lock】、【xcworkspace】和【Pods文件夹】
(2)、打开【.xcodeproj】文件,删除CocoaPods残留项:【Pods文件夹】及【Framews文件夹】
(3)、打开【Targets】->【Build Phases】选项,删除以[CP]开头的选项(CocoaPods =>CP _)
常用CocoaPods终端命令:
创建默认的Podfile
$ pod init
当在Podfile里面添加了一个库的时候,应该使用pod install,而不是pod update,这样既安装了这个库,也不需要去更新其它的已安装库。
$ pod install
安装框架,不更新本地索引,速度快
$ pod install --verbose --no-repo-update
CocoaPods就会更新每一个Podfile里面的库到尽可能的最新版本。
$ pod update
只更新某个特定的库(检查是否有新版本,并尽可能更新到新的版本)推荐使用
$ pod update 库名
更新框架,不更新本地索引,速度快
$ pod update --verbose --no-repo-update
搜索框架
$ pod search 框架名
查看版本
$ pod --version
查看帮助
$ pod --help
pod install的使用场景:
(1)、新创建工程,第一次引入pod库时。
(2)、修改了Podfile文件,添加或删除了所依赖的pod库时。
(3)、团队中新人拉取工程后获取pod库时。
(4)、团队中,不同开发者要同步对pod库的依赖时。
(5)、有人改变了依赖关系,删除或增加pod时。
(6)、有人执行了pod update,此时他的Podfile.lock文件中的跟踪版本就已经变更,此时,其他人只要pod install就能更新为和Podfile.lock文件中的版本。
(7)、如果Podfile和Podfile.lock的记录相冲突,Podfile文件中指定了低于Podfile.lock中记录的版本。会以Podfile文件为准,并在获取成功后更新Podfile.lock文件。