Cocoapods 打包framework或者.a静态库

1、通过pod lib命令完成初始项目的搭建 (即配置podspec)

打开终端,执行以下命令

pod lib create XXX

以测试工程为例我创建了一个TestSDK工程,初始化自动打开。

Cocoapods 打包framework或者.a静态库_第1张图片

以下是pod为我们创建的工程

Cocoapods 打包framework或者.a静态库_第2张图片

2、编写SDK相关逻辑代码均在Classes下面,路径千万不要放错,不然pod install的时候会不见,图片放入Assets下面。

Cocoapods 打包framework或者.a静态库_第3张图片

3、打开TestSDK.podspec,一推命令,不要害怕,如果看不懂全部干掉,直接拷贝下面一段,需要注意的是如果你的库使用了其他第三方,需要在s.dependency加入引用(注意:以下代码中的所有字符均是英文状态的字符,其中s.source 路径填写本地工程路径,不然有可能出错)

Pod::Spec.new do |s|

# 框架名称

s.name = 'TestSDK'

# 版本号

s.version = '0.0.1'

# 描述信息

s.summary = '一款SDK应用'

# 主页

s.homepage = 'https://github.com/MrsYY/TestSDK

# 作者信息

s.authors = { 'sunshine' => '[email protected]' }

# 看你放在哪里了,我这边就直接填本地了

s.source = { :git => '/Users/BitBays/Desktop/TestSDK', :tag => '0.0.1' }

# arc

s.requires_arc = true

# license

s.license = 'MIT'

# iOS版本

s.ios.deployment_target = '7.0'

# 自定义项目存放的路径

s.source_files = 'TestSDK/Classes/**/*.{h,m}'

# 图片,其他资源文件存放的路径,需要注意的是,xib,nib也属于资源文件

s.resource = 'TestSDK/Assets/*'

# 如果你的库使用了其他第三方库,需要加入

s.dependency  'Masonry'

s.dependency  'MJRefresh'

s.dependency  'MBProgressHUD'

end

4、回到终端

4.1 cd 到含有TestSDK.podspec 文件下,然后执行

pod lib lint TestSDK.podspec --allow-warnings --use-libraries

--allow-warnings是忽略警告信息,--use-libraries是针对第三方pod使用(如果使用了三方库即可使用该终端命令)

Cocoapods 打包framework或者.a静态库_第4张图片  【通过验证】

4.2  然后cd到Example,执行

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

4.3 回到上层目录,cd .. 开始提交,给当前版本打tag

# git add .

# git commit -a -m'v请换成版本号'

# git tag -a 版本号 -m'v版本号'

4.4 最后一步,打包,大功告成

# pod package TestSDK.podspec --library --force    打包成.a文件。--force是指强制覆盖

# pod package TestSDK.podspec --force              打包成.framework文件

大家可以查看以下成果:

Cocoapods 打包framework或者.a静态库_第5张图片

生成.a文件需要把封装最外层的.h文件暴露在外部即可,这就是开发一款SDK的大体步骤了,祝各位好运!

你可能感兴趣的:(iOS开发)