如果我使用Xcode的"在工作区中查找/替换",它似乎会跳过XIB文件中UIViews中包含的任何文本。
无论如何要在Xcode中执行此操作还是需要使用其他工具?
谢谢!
>XCode将成功重构IBOutlet名称,即使它们在笔尖中连接。所以回答你:
在选择文本上的"查找/替换"之前,请先查看 Xcode 是否会重构它。它不会重构某些内容(例如枚举和 #defines)。如果它将重构您的目标文本,请选择它,它应该没问题。
您可以从命令行使用 find 和 sed
find . -name '*.xib' -type f -exec sed -i "" 's/OldText/NewText/g' {}
例如,我只需要找到并替换从SC到MCSC的所有前缀的类,我使用了:
find . -name '*.xib' -type f -exec sed -i "" 's/[[:<:]]SC/MCSC/g' {}
[[:<:]] 表示 OS X 上的单词边界(请参阅 https://stackoverflow.com/a/5734237/456366)。
如果用于文本/字符串替换而不是文件,则查找并替换Xcode的选项。
如果你想这样做,你可以有你的shell脚本/苹果脚本。
如果你真的有很多这样的文本想要查找/替换,你可能会发现IBTool很有用。
它通常用于从/导入文本。XIB 出于翻译原因,但它也应该满足您的需求。
您可以在 iPhone 应用程序本地化指南上查看 IBTool 用法示例。您会对指南的第 2 点和第 5 点感兴趣。
- 使用 IBTool 导出字符串
- 您可以在任何文本编辑器中查找/替换
- 重新导入字符串