参考文章制作CocoaPods依赖库制作PodSpec文件很全面
参考文章truck方式之所CocoaPods
一、准备工作
1、创建github仓库
2、clone 仓库到本地
二、注册trunk
ps: 查询pod版本
pod --version
更新结束后开始注册:
pod trunk register 960262335@qq.com 'lxl125z' --verbose
邮箱以及用户名。用户名我使用的是Github上的用户名。--verbose参数是为了便于输出注册过程中的调试信息。将会受到一封带有验证链接的邮件,点击邮件的链接就完成了trunk注册流程。
向trunk服务器查询自己的注册信息:
pod trunk me
三、配置PodSpec
1、添加podspec描述文件
可以直接拿一些成熟的开源库的podspec改就行,生成的模板里有很多冗余的属性。配置可以参考这篇文章第三部分(四,五部分过时)
可以使用下面命令创建
>pod spec create projectNamw
eg:
Pod::Spec.new do |s|
s.name = "工程名称" #名称
s.version = "1.0.0" #版本号
s.summary = "A marquee view used on iOS." #简短介绍
s.description = <<-DESC
It is a marquee view used on iOS, which implement by Objective-C. #描述
DESC
s.homepage = "https://github.com/lxl125z/test" #地址
# s.screenshots = "www.example.com/screenshots_1", "www.example.com/screenshots_2" #截图
s.license = 'MIT' #开源协议
s.author = { "lxl125z" => "960262335@qq.com" }
s.source = { :git => "https://github.com/marklin2012/O2View.git" }
## 这里不支持ssh的地址,只支持HTTP和HTTPS,最好使用HTTPS
## 正常情况下我们会使用稳定的tag版本来访问,如果是在开发测试的时候,不需要发布release版本,直接指向git地址使用
## 待测试通过完成后我们再发布指定release版本,使用如下方式
#s.source = { :git => "http://EXAMPLE/O2View.git", :tag => version }
# s.social_media_url = 'https://twitter.com/NAME'
s.platform = :ios, '4.3' #支持的平台及版本,这里我们呢用swift,直接上9.0
# s.ios.deployment_target = '5.0'
# s.osx.deployment_target = '10.7'
s.requires_arc = true #是否使用ARC
s.source_files = "O2View/*.swift" #OC可以使用类似这样"Classes/**/*.{h,m}"
#s.source_files = 'WZMarqueeView/*' #表示源文件的路径,注意这个路径是相对podspec文件而言的
# s.resources = 'Assets'
# s.public_header_files = 'Classes/**/*.h'
s.frameworks = 'UIKit', 'QuartzCore', 'Foundation' #所需的framework,多个用逗号隔开
# s.dependency "JSONKit", "~> 1.4" #依赖关系,该项目所依赖的其他库,如果有多个可以写多个 s.dependency
end
2、通过trunk推送podspec文件
对pod进行验证,出现警告(我们需要在 github 上把我们的代码生成相应稳定的 release 版本,到时候我们再回来添加指定 tag 发布就 Ok )
pod lib lint --allow-warnings
- 错误解决
解决:
echo 3.0 > .swift-version
解决:
launchctl remove com.apple.CoreSimulator.CoreSimulatorService || true
3、本地测试podspec
本地创建工程测试pod 导入
platform :ios, '8.0'
target 'SwiftTest' do
pod 'SwiftTest', :path => '~/Desktop/SwiftTest' # 指定路径podspec所在文件夹
#pod 'SwiftTest', :podspec => '~/Desktop/SwiftTest/SwiftTest.podspec' #指定podspec文件
end
查看本地仓库列表:pod repo list
四、提交代码到github仓库
git add -A && git commit -m "add pod files"<br>
git push origin master
五、提交代码到podspec的Git仓库
先cd到podspec文件所在目录
pod trunk push ***.podspec
ps:添加标签:
git tag '1.0.0' 本地打标签
git push --tags 提交tag到github仓库
六、使用
更新本地pod依赖
通过pod setup"进行本地依赖库更新,再search。