[CocoaPods]终端方式加载第三方库

终端方式集成第三方库

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命令也会创建.xcworkspacePods目录, 但这是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文件。

原文地址:https://www.cnblogs.com/strengthen/p/10642653.html