第一步:封装功能生成 .framework
1.打开Xcode,新建工程。
不要选择“Application”,选择“Framework & Library”。选择第一个,然后Next。
2.更改参数
在TARGETS下选中工程,在Build Settings下更改几个参数。
Dead Code Stripping —> NO
Mach-O Type —> Static Library
3.增加armv7s
在Architectures下增加armv7s,并选中。将Build Active Architecture Only 设置为NO。
4.设置Headers
将你要公开的头文件拖至Public下,要隐藏的放在Private或者Project下,当然,隐藏的头文件就无法再被引用。
5.打包Framework
1.选中模拟器,编译程序
2.选中测试机,编译程序
3.在finder中找到framework文件
4.通过终端命令将两个framework合为一个模拟器和真机都可使用的framework。
打开控制台输入 lipo -create iphoneos下framework的路径 simulator下framework的路径 -output 新的路径,这样就完成了模拟器和真机版本的合并,新路径下的framework就是你合并后的文件,将这个文件名字改成和你未合并之前的Test一样的名字,放到framework文件夹下,替换掉原来的framework文件
第二步:创建一个公有 Pod 库
1.注册 COCOAPODS 用户
$ pod trunk register {YOURMAIL} '{YOURNAME}' --verbose
2.去邮箱点击验证链接
此时您的邮箱中应该有一封主题是 [CocoaPods] Confirm your session. 的邮件,点击邮件中的链接进行验证。
3.验证是否注册成功
$ pod trunk me
Name: YOURNAME
Email: YOURMAIL
Since: May 23rd, 2018 03:02
Pods:
PodName
Sessions:
June 20th, 08:17 - October 26th, 08:39. IP: xxx.xxx.xxx.xx
4.创建一个 Git 仓库
仓库主页
进入您创建的仓库后,地址栏中的地址:
https://github.com/{YOURGITHUBNAME}/{YOURPODNAME}
git 地址
点击 Clone or download 按钮,就可以看到了。选择 HTTPS 地址:
https://github.com/{YOURGITHUBNAME}/{YOURPODNAME}.git
5.创建 Pod 库
在终端中执行: pod lib create {YOURPODNAME},接下来按照提示,根据自己的情况进行选择就可以了。
必须要修改的:
s.summary: pod 摘要
s.description: pod 描述
s.homepage: pod 在 github 中的地址
s.author: 作者姓名及邮箱
s.source: pod 的 git 地址
6.验证 YOURPODNAME.podspec
$ pod lib lint
7.提交代码
$ git add .
$ git commit -m "创建 pod 库"
$ git push
8.创建并提交 tag
$ git tag -a 0.1.0 -m '创建 pod 库'
$ git push origin --tags
9.提交 pod
$ pod trunk push
恭喜您,您已经成功的将您创建的 pod 库推送到了官方 pod 库!
坑点 & 解决方案
1. 解决pod lib lint/repo push不支持i386编译&只能真机运行的库
1.pod lib lint 命令添加 --skip-import-validation 参数,lint 将跳过验证 pod 是否可以导入。
2.pod trunk push 命令添加 --skip-import-validation 参数,push 将跳过验证 pod 是否可以导入。
2.本库若依赖三方库和文件
spec添加如下:
文件例:
spec.source_files = 'Reachability.{h,m}'
framework例:
spec.framework = 'SystemConfiguration'
pod依赖例:
spec.dependency 'SomeOtherPod'