写好podspec才能用好cocoapods

写好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 => 'http://EXAMPLE/howTo.git',: tag=>ht_version
3.加载subspec。
pod 'howTo/HTOne', :git => 'http://EXAMPLE/howTo.git',: tag=>'0.0.1'
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值