缘由: 还是那个小活, 需求方想用 cocoapods 来集成 framework, 由于之前, 我从没有自己做过属于自己的 cocoapods, 所以也是一脸懵逼, 各种查资料.
制作 cocoapods 步骤:
1. 在 github 上创建一个新的仓库 <图中的 1、2 一定要选择,2 可以是其他的 License>
2.clone 代码到本地
3. 相加自己的项目,然后提交到 github 上 git add .
- git commit -m "描述"
- git push origin master
在项目目录下,执行命令创建. podspec, 一下 3 中方式都可以创建:
记住:不要用文本编辑打开编辑,不要用文本编辑打开编辑,不要用文本编辑打开编辑, 可以用 atom 编辑 可以用 vim 命令编辑, vim 状态下, 按 i 进入编辑状态, 按 esc 退出编辑状态, 然后输入: wq 保存退出编辑
- :Pod::Spec.new do |s|
- s.name = "CFMobAdSDK"
- s.version = "1.0.6"
- s.ios.deployment_target = '7.0'
- s.summary = "广告sdk,一个简单的广告SDK."
- s.homepage = "https://github.com/lixianshen/CFMobAdSDK"
- s.license = { :type => "MIT", :file => "LICENSE" }
- s.author = { "Simple" => "810646506@qq.com" }
- s.source = { :git => "https://github.com/lixianshen/CFMobAdSDK", :tag => s.version }
- #s.source_files = "CFMobAdSDK/*"
- s.resources = "CFMobAdSDK/CFMobAdSDK.bundle"
- s.frameworks = 'Foundation', 'UIKit', 'CoreLocation', 'AdSupport'
- s.vendored_frameworks = 'CFMobAdSDK.framework'
- s.requires_arc = true
- end
下面介绍一下. podspec 中部分代码的含义:
: 支持的 pod 最低版本
- s.ios.deployment_target
: 包含的 framework, 也就是我们自己制作的 pod
- s.vendored_frameworks
: 公开的头文件
- s.public_header_files
- "CFMobAdSDK/*
- "CFMobAdSDK/*.{h,m}"
- "CFMobAdSDK/**/*.h"
""表示匹配所有文件".{h,m}" 表示匹配所有以. h 和. m 结尾的文件 "**" 表示匹配所有子目录
- /// git commit -m =>"13287dd",讲pod版本与git仓库中的某一次提交绑定
- s.source = { :git => "https://github.com/lixianshen/CFMobAdSDK", :commit => "13287dd" }
- /// 将这个Pod版本与Git仓库中某个版本的comit绑定
- s.source = { :git => "https://github.com/lixianshen/CFMobAdSDK", :tag => 1.0.0 }
- /// 将这个Pod版本与Git仓库中相同版本的comit绑定
- s.source = { :git => "https://github.com/lixianshen/CFMobAdSDK", :tag => s.version }
- ```
- /// 第一次需要在前面加一个v
- git tag "v1.0.0"
- git push --tags
- ```
方式一
- // 加上--verbose验证失败会显示详细的报错信息
- pod spec lint CFMobAdSDK.podspec--verbose
方式二
pod spec lint
验证开始
-> CFMobAdSDK
成功:
验证失败的一些情况: 1. 下面这种情况, 只要在终端运行命令:
- echo "2.3" > .swift-version
2.- ERROR | [iOS] file patterns: The source_files pattern did not match any file. 解决方法: 文件路径不对, 也就是设置 s.source_files 字段时, 发生了错误 3.- ERROR | [iOS] file patterns: The vendored_frameworks pattern did not match any file. 解决方法: framework 路径不对, 也就是设置 s.vendored_frameworks 字段时, 发生了错误
和 pod setup
- sudo gen install cocoapods
这个时候, 你填写的邮箱会收到一封邮件, 把链接复制, 在浏览器打开就可以了, 如果没有打开这个链接, 下面的步骤是不能进行的
pod trunk me
- - Name: lixianshen
- - Email: 810646506@qq.com
- - Since: May 1st, 01:51
- - Pods:
- - CFMobAdSDK
- - Sessions:
- - May 1st, 01:51 - September 7th, 08:30. IP: 125.121.226.128 Description:
- Simple
- - May 2nd, 18:35 - September 7th, 18:43. IP: 125.118.107.149
- - May 2nd, 20:55 - September 7th, 21:05. IP: 125.118.107.149
- - May 4th, 02:19 - September 9th, 02:20. IP: 125.118.107.149
检查之前先删除缓存中的 json 文本4. 搜索记录 如果想删除已发的版本, 需要使用下面的命令:如果不删除, 会搜索不到自己发布的, 如果让你朋友也要查到也要删除现有的缓存
- ~/Library/Caches/CocoaPods/search_index.json
例如
- pod trunk delete CFMobAdSDK版本号
到这基本结束了: 下面是几个和本内容相关的比较好的链接:
- pod trunk delete CFMobAdSDK 1.0.1
如果发现问题, 或者有不懂的地方, 请留言
来源: https://juejin.im/post/5a30f53c6fb9a0452341e1de