2014-03-25 27 views
1

有一种常见的伎俩再次使用吊舱规范中的字符串:如何在CocoaPod PodSpec中创建一个Ruby字符串?

s.version = '0.0.2' 
    s.source = { :git => ..., :tag => s.version } 

通过重用它分配后s.version串,我不记得要改变两个字段,当我更新我的podspec

但是,我真的很想做的是标签我的代码以“v0.0.2”,而不是“0.0.2”。于是,我就只是在前面加上一个“V”的版本创建一个新的字符串:

s.source = { :git => ..., :tag => 'v' + s.version } 

然而,炸弹pod命令。

我记得前段时间在搜索别的东西的时候看到了一个技巧,它展示了如何在规范中注入Ruby代码,但现在我找不到它,即使我不确定它是如何解决我想要的做。

所以,我的问题是,这甚至可能,如果是这样,我怎么做到呢?

回答

3

你缺少一个.to_s电话。我创建了一个示例podspec来重现您的问题。事实上,:

s.source = { :git => ..., :tag => 'v' + s.version } 

没有通过使用lint验证,我得到了很多错误。不过,我添加了to_s呼叫,它为我工作和lint开始访我v1.0.0标签。

s.source = { :git => ..., :tag => 'v' + s.version.to_s } 

希望它有帮助。

+0

太好了!我根本不认识Ruby。 s.version是一个字符串,但我必须把它变成一个字符串来创建一个新的字符串(看看为什么我晕了!)。在我看来,单引号和双引号在Ruby中差不多 - 如果这不是真的,你可以添加一条评论吗?无论如何,这不是我以前见过的解决方案。哈 - 在主页上看到你的摘要:-) - 哈哈! –

相关问题