2014-03-25 26 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中差不多 - 如果這不是真的,你可以添加一條評論嗎?無論如何,這不是我以前見過的解決方案。哈 - 在主頁上看到你的摘要:-) - 哈哈! –

相關問題