写好podspec才能用好cocoapods
2016-07-30 14:49
281 查看
写好podspec才能用好cocoapods
创建一个Podspec文件
pod spec create howTo
此命令产生一个howTo.podSpec的文件,里面的内容已经很丰富,并且有都有注释说明,自行研究一下,我来补充一些里面没有提及的东西。
subspec的用法
不使用subspec的时候,通过pod到工程的所有代码文件都是放在一个目录下的,而subspec则可以避免这种状况,使用它是有很多好处的,比如:每一个subspec会生成一个文件夹,将代码和资源文件放入其中。
可以按照需求,将不同的模块放在不同的subspec下,清晰明了。
subspec可以独立加载。
subspec之间可以互相依赖。
完整示例如下,
s为上级spec的别名.
1.使用
s.subspec 'AA' do |aa|创建下级spec,
aa为别名。
2.使用
aa.source_files给定一个或多个路径,注意与代码库实际路径一致。
3.使用
to.dependency依赖其他subspec或者其他第三方库。
4.上级spec可以不关联指定代码,而直接关联一个subspec。
Pod::Spec.new do |s| s.name = "howTo" s.version = "0.0.1" s.summary = "A short description of howTo." s.description = <<-DESC DESC s.homepage = "http://EXAMPLE/howTo" s.license = "MIT (example)" s.author = { "huachen" => "huachen206@163.com" } s.source = { :git => "http://EXAMPLE/howTo.git", :tag => "0.0.1" } s.default_subspec = 'Core' s.subspec 'Core' do |core| core.source_files = 'HTCore/*.{h,m}','HTCore/Classes/*.{h,m}','HTCore/CommonCategory/*.{h,m}'' end s.subspec 'HTOne' do |to| to.source_files = 'HTOne/*.{h,m}' to.resource = 'HTOne/Resources/*' to.dependency 'howTo/Core' db.ios.dependency 'FMDB', '~> 2.3' end s.subspec 'Whole' do |wh| wh.dependency 'howTo/Core' wh.dependency 'howTo/HTOne' end end
ps.试试将default_subspec设为’Whole’
发布到CocoaPods
1.先验证你的.spec文件pod spec lint HCKitProject.podspec
有时候总有一些恼人的warning,可以加上这句
--allow-warnings
pod spec lint HCKitProject.podspec --allow-warnings
2.没问题后就可以发布了,如果有warnings则需要加上
--allow-warnings,否则验证不通过
pod trunk push --allow-warnings
3.你可能没有注册truck,那么以下两个个方法应该用得到,注册成功后会收到邮件。
pod trunk register aa@bb.com 'name' --description='dexcription' //注册 pod trunk me //查看自己的注册信息
4.现在可以用了
pod 'howTo', '~> 0.0.1' pod 'howTo/HTOne', '~> 0.0.1'
ps:在git里打上跟spec里设置的version想对应的tag。
我想不发布也直接用
当然可以,对于自己正在不断更新的代码,用这种方式载入工程会更方便。1.不管tag使用,将总是使用git上master下的最新代码。
pod 'howTo', :git => 'http://EXAMPLE/howTo.git'
2.使用tag,将只会使用指定tag的代码。
ht_version = '0.3.15' pod 'howTo', :git =&g 8f34 t; 'http://EXAMPLE/howTo.git',: tag=>ht_version
3.加载subspec。
pod 'howTo/HTOne', :git => 'http://EXAMPLE/howTo.git',: tag=>'0.0.1'
相关文章推荐
- CocoaPods创建私有podspec
- CocoaPods的PodSpec.json文件用法
- xcode8 cocoapods 执行 pod spec lint 报错
- podspec 发布自己的pods到CocoaPods trunk
- 使用Cocoapods创建私有podspec
- 利用Cocoapods创建基于SVN的私有库podspec
- CocoaPods pod update 报错"[!] Invalid `xxxx.podspec` file: undefined method ..." 修复
- 使用Cocoapods创建私有podspec
- CocoaPods pod install/pod update更新慢的问题
- ios 使用cocoapods pod install 或者pod upadate遇到 abort trap:6问题
- swift项目桥接通过cocoapods pod下来的第三方oc文件引入不成功
- pod删除已导入的第三方库和移除项目中的cocoapods
- 创建自己的CocoaPods的Spec仓库
- [!] You need at least git version 1.8.5 to use CocoaPods (Pod::Informative)
- CocoaPods pod install/pod update 特别慢
- iOS CocoaPods iOS 'The sandbox is not sync with the Podfile.lock'问题解决
- CocoaPods详解之-Podfile.lock
- 写一个Pod,发布到Cocoapods上
- CocoaPods pod install/pod update更新慢的问题
- iOS开发---CocoaPods和Podfile使用