创建自己的依赖库,并发布到trunk继而使用cocoapods进行管理自己的扩展组件
写在前面的帮助
如果对任何的命令不明白都可以使用 (你要了解的命令 + --help)来了解该命令的作用
路径: /Users/alexcorleone/Library/Caches/CocoaPods
cocoapods的cache文件夹、我们可以在这里找到
pod spec lint WQK_Model.podspec生成的文件
$ pod spec create WQK_Model
//创建WQK_Model.podspec文件WQK_Model是要穿件的文件名 。
$ vim WQK_Model.podspec
//可以使用终端自带的vim编辑器进行文件编辑,不过作为一个iOS开发者我还是比较习惯用Xcode。WQK_Model.podspec文件中的每个字段的描述具体可以到 root_specification中查看
简单配置.podspec文件
详细更全面的配置.podspec文件
$git tag 0.0.1
$git push --tags
//为当前的依赖源设置版本号,这个将要对应.podspec中s.version的版本号
值得注意的:
.podspec文件中
s.license 我直接使用的s.license = "MIT"报错,于是我更改此项为s.license = { :type => 'Apache License, Version 2.0', :text => <<-LICENSE
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
LICENSE
}
s.platform = :ios默认是被注释掉的我在lint的时候遇到一个错误是s.platform于是我变吧平台为iOS这个选项给打开了
s.source_files 所要加载的文件 s.exclude_files不要加载的文件 把这两个贴出来是因为我在刚开始给这两个的路径exclude总是包含source路径所以lint的时候一直提示加载资源为空emptty
s.requires_arc = true 这个默认也是注释的但因为现在大部分的工程都致辞ARC所以需要手动去掉注释
$ pod spec lint WQK_Model.podspec
//检测填写好的是否有错误,这一步会遇到很多坑,不过前辈们大部分都已经把坑填满了,我们只需要Google就行了。开心😊!!!
$pod trunk register "example@qq.com" "exampleName" --description= "描述文字"
//注册trunk,(如果你之前注册过可以忽略此步骤)注册成功后邮箱会收到有点点击其中的确认链接就好,如果不能点击可以把链接拷贝到浏览器刷新即可。
$pod trunk push WQK_Model.podspec
//将我们生成的podspec文件push到trunk
$po setup
$po repo update
最后更新本地的repo源
遇到错误或者问题:
-> WQK_Model (0.0.1)
- ERROR | xcodebuild: ******/pathclassName.m:78:42: error: unknown type name 'FMDatabase'
这个问题一定要确认当前的github tag版本是否包含了依赖库的引用,我遇到这个问题是因为之前提交的版本是0.0.1而我后期的更改在0.0.1版本没有生效,所以即使后期我对出错的类修改了,之前build的版本依然会出错。
- ERROR | [OSX] xcodebuild: Returned an unsuccessful exit code. You can use `--verbose` for more information.
是在不好意思这个错误具体的怎么解决我给忘了,不过在这里可以使用在命令后面 + --verbose去查看具体的log,在log中搜索error:具体定位错误原因。
提示pod trunk push 成功但是pod search 未找到
Unable to find a pod with name, author, summary, or description matching
解决办法:
r -rf ~/Library/Caches/CocoaPods
pod setup