您的位置:首页 > 其它

写好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'
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  pod spec cocoapods subspec