Cocoapods发布Framework

1.创建git仓库

本项目由于属于商业项目,不开源,因此使用framework方式上传。

创建完毕以后,拉到本地

2.创建trunk账号

pod trunk register 邮箱地址 ‘用户名’ –verbose
复制代码

这里我用了自己的账号

pod trunk register 329106954@qq.com 无星 –verbose
复制代码

需要去邮箱验证链接

完成以后

pod trunk me
复制代码

查看当前pod账户是谁

3.创建.podspec文件

cd 到sdk目录下
pod spec create BjcaSignSDK
复制代码

创建完以后用xcode双击打开

Pod::Spec.new do |s|

#名称
s.name         = 'BjcaSignSDK'

#版本号
s.version      = '0.0.3'

#许可证
s.license      = { :type => 'MIT' }

#项目主页地址
s.homepage     = 'https://github.com/XingXiaoWu/BjcaSignSDK'

#作者
s.authors      = { '无星' => 'wuxing@bjca.org.cn' }

#简介
s.summary      = "北京数字医信签名SDK"

#项目的地址 (注意这里的tag位置,可以自己写也可以直接用s.version,但是与s.version一定要统一)
s.source       = { :git => 'https://github.com/XingXiaoWu/BjcaSignSDK.git', :tag => s.version }

#支持最小系统版本
s.platform     = :ios, '9.0'

#需要包含的源文件
s.source_files = 'BjcaSignSDK/BjcaSignSDK.framework/Headers/*.{h}'

#你的SDK路径
s.vendored_frameworks = 'BjcaSignSDK/BjcaSignSDK.framework'

#SDK头文件路径
s.public_header_files = 'BjcaSignSDK/BjcaSignSDK.framework/Headers/*.{h}'

#依赖库
#s.libraries    = 'sqlite3','icucore','z'

#依赖库
#s.frameworks   = 'UIKit','Foundation'

end

复制代码

保存,然后把打包好的framework放到本地仓库

注意层级关系

4.传到git上并打tag

命令如下

#创建版本0.0.1的tag
git tag 0.0.1
#把0.0.1版本的tag push到github上
git push origin tag 0.0.1
#删除名为0.0.1的tag,这个是敲错了tag名使用
git tag -d 0.0.1
复制代码

注意了,这里的tag名要和上面第3步填写的version相符合

5.验证podspec文件是否正常

一般的验证

cd 到sdk目录
pod spec lint BjcaSignSDK.podspec
复制代码

但是我们不一样,我们的framework里面包含了.a库

所以我们需要使用命令

pod spec lint BjcaSignSDK.podspec --verbose --use-libraries
复制代码

进行验证

可以看到,后面带了个use libraries

提醒:如果遇到报错

unknown: Encountered an unknown error (/usr/bin/xcrun simctl list -j devices

xcrun: error: unable to find utility "simctl", not a developer tool or in PATH
复制代码

打开xcode

xcode->preferences->locations
复制代码

如下图

5.验证通过以后,发布

正常发布

pod trunk push BjcaSignSDK.podspec
复制代码

不过我们还是用下面这个

pod trunk push  BjcaSignSDK.podspec --allow-warnings --use-libraries
复制代码

更新也是这个命令,改完podspec后重新验证上传即可

疑惑1:为什么我的包才25m,传却传了贼大的一个包

答:是接收,不是上传,英语不好emmmm

疑惑2:如何把bundle一起传上去?

s.resources = "bundle文件的路径"

参考资料:

(提交Framework到CocoaPods)[www.jianshu.com/p/40f854f63…]

(发布开源项目到cocoapods上去)[www.jianshu.com/p/69ebc6a4c…]

(iOS中Cocoapods的Bundle)[www.jianshu.com/p/73e426213…]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值