2016-03-10 27 views
0

我正在寻找一个优雅的解决方案来覆盖我的一个Pod的资源文件(特别是.bundle中的一个.strings文件)中的条目,可能涉及到我的Podfile中的post_install任务。覆盖cocoapod包资源中的字符串文件

不幸的是,问题Pod是闭源(Zendesk SDK),并且手动更改这些包文件是它们自定义字符串的suggested method

我的Pods文件夹当前处于源代码管理下,所以我当前不雅的解决方案是当我运行pod install时,在我的Podfile中记录警告以提醒自己手动更新该资源。但是,我想从源代码控制中删除我的Pods目录,这进一步需要解决方案。

那里的任何cocoapods和/或Ruby dudes有这个愚蠢的问题的一个很好的解决方案?

回答

0

想出了一个解决方案,使用[plutil][1](因为.strings文件实际上是属性列表)。

在我Podfile

post_install do | installer |   
    system("plutil -replace \"MyPropertyListStringKey" \ 
      -string "My string goes here" \ 
      Pods/pathto/Localizable.strings") 
    end 
+0

使用这个命令的工作?我没有。你能帮忙吗?我想在此路径中替换ZHMessages.strings“Pods/ZHChat/Resources/ZHCMessagesAssets.bundle/ZHMessages.strings”@Keller – hiwordls