CocoaPods管理第三方开源库的基本使用

CocoaPod出来很久了。一个第三方库管理的工具。CocoaPods的项目源码在https://github.com/CocoaPods/Specs上管理。

2016年5月10号,CocoaPods终于在其官方博客上宣布正式发布CocoaPods 1.0。与此同时,公开了相应的Mac版App——CocoaPods App 1.0。虽然已经出来很多年了,可见CocoaPods团队的匠人精神。

安装CocoaPods 准备工作

查看ruby版本

ruby -v

查看ruby源

gem sources -l

// 更新升级gem 做技术的应该还是会翻墙的

sudo gem update —system

查看gem 版本

gem -v

安装篇

OS X 10.11 以前安装命令为:

// 安装cocoapods

sudo gem install cocoapods

Mac系统为OS X EL Capitan安装命令为:

sudo gem install -n /usr/local/bin cocoa pods

卸载CocoaPods

sudo gem uninstall cocoapods

常用操作

我们可以用CocoaPods Mac app来给自己的工程创建Podfile文件

将所有第三方的Podspec索引文件更新到本地的~/.cocoapods/repos目录下

pod setup 

如果更新太慢可以用命令查询大小确定是否在下载

cd ~/.cocoapods/repos 进入目录

du -sh *

这个是我打印自己的目录详情 551M    master

以后可以每周更新一次

初始化Podfle文件 并且格式也有

pod init 

-----------------------------各种文件------------------------------

1. Podfile文件

项目的第三方库的依赖以及项目的基本配置

2. Podfile.lock文件

最后一次更新Pods时, 保存所有第三方框架的版本号

3. pods目录

保存通过pod install或者pod update下载下来的第三方开源库的源代码

4. xxx.xcworkspace文件

重新生成一个工作空间,打开这个工程文件来进行开发


-----------------------------Podfile文件结构------------------------------

source'http://192.168.1.1/qiqi/JSONModelConfigurationFile.git'

source'https://github.com/CocoaPods/Specs.git'

platform :ios,'8.0'

use_frameworks!

inhibit_all_warnings!

target'MyProjectName'do

pod'SDWebImage','3.7.5'

pod'FMDB','2.6'

end


-----------------------------Podfile参数解释------------------------------

1. platform :iOS, '7.0'

指定了开源库应该被编译在哪个平台以及平台的最低版本

若不指定平台版本,官方文档里写明各平台默认值为iOS:4.3,OS X:10.6,tvOS:9.0,watchOS:2.0

2. inhibit_all_warnings!

屏蔽cocoapods库里面的所有警告

这个特性也能在子target里面定义,如果你想屏蔽某pod里面的警告也是可以的:

pod'MyProject', :inhibit_warnings =>true

3. xcodeproj,现在被project代替,这个变量就别使用了

允许你指定需要链接的工程

4. use_frameworks!

使用frameworks动态库替换静态库链接

(1)swift项目cocoapods 默认 use_frameworks!

(2)OC项目cocoapods 默认 #use_frameworks!

5. workspace

指定应该包含所有projects的Xcode workspace.

如果没有显示指定workspace并且在Podfile所在目录只有一个project,那么project的名称会被用作于workspace的名称

6. project

默认情况下是没有指定的,当没有指定时,会使用Podfile目录下与target同名的工程:(我们只有一个工程MyProject)

# MyProject这个Target只有在MyProject工程中才会链接

target 'MyProject' do

project 'MyProject'

...

end

5. target 'xxxx' do

end

指定特定Target的依赖库

可以嵌套子Target的依赖库

6. inherit! :search_paths

明确指定继承于父层的所有pod,默认就是继承的

7. source

指定specs的位置,自定义添加自己的podspec。公司内部使用

cocoapods 官方source是隐式的需要的,一旦你指定了其他source 你就需要也把官方的指定上

例如:

source'http://192.168.1.1/qiqi/JSONModelConfigurationFile.git'

source'https://github.com/CocoaPods/Specs.git


-----------------------------常用指令------------------------------

1. pod setup

将所有第三方的Podspec索引文件更新到本地的~/.cocoapods/repos目录下,更新本地仓库。

2. pod repo update

执行 pod repo update更新本地仓库,本地仓库完成后,即可搜索到指定的第三方库,作用类似pod setup。不过这个命令经常不单独调用。比如执行pod setup、pod search、pod install、pod update会默认执行pod repo update

3. pod search xxx

查找某一个开源库。查找开源库之前,默认会执行pod repo update指令

4. pod list

列出所有可用的第三方库.现在已经2.4W+了.还在不断地增长

5. pod install

会根据Podfile.lock文件中列举的版本号来安装第三方框架

如果一开始Podfile.lock文件不存在, 就会按照Podfile文件列举的版本号来安装第三方框架

安装开源库之前, 默认会执行pod repo update指令

6. pod update

将所有第三方框架更新到最新版本, 并且创建一个新的Podfile.lock文件

安装开源库之前, 默认会执行pod repo update指令

7. pod install --no-repo-update

8. pod update --no-repo-update

安装开源库之前, 不会执行pod repo update指令

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

推荐阅读更多精彩内容