是否有替代 ibtool 来解析 NIB 文件?

Posted

技术标签:

【中文标题】是否有替代 ibtool 来解析 NIB 文件?【英文标题】:Are there alternatives to ibtool for parsing NIB files? 【发布时间】:2009-12-31 17:45:11 【问题描述】:

作为 i18n 项目的一部分,我需要以编程方式从 NIB 文件中提取字符串。当然,这可以通过 ibtool 轻松完成。但这是一个跨平台的产品,NIB只是其中的一部分。如果我们不必将字符串提取锁定到特定机器,或者不必将目录合并脚本组合在一起,那就太好了。

所以我意识到这是一个很长的机会,因为对此的需求可能非常低,但是 ibtool 是否有任何开源替代品?是否有任何关于 NIB 格式的文档足够可靠,可以从中编写解析器?

【问题讨论】:

【参考方案1】:

如果您使用 XIB,那么它们就是简单的 XML 文件。只需查找具有键 NSContentsstring 元素。如果您熟悉 XML 解析,那么几乎可以用任何语言对 --export-strings-file 进行逆向工程。

如果你不能迁移到 XIBs,你可以阅读keyedobjects.nib,它是一个二进制 plist。一种便携式阅读器是 Perl 实现 plutil.pl。您还可以在CFBinaryPlist.c 中查看 Apple 的开源代码来处理它们。如果您需要走这条路,请查看OpenCFLite。读写 Plist 是人们使用便携式 Core Foundation 的一个关键原因。

【讨论】:

我不知道 XIB;正是我想要的,谢谢!

以上是关于是否有替代 ibtool 来解析 NIB 文件?的主要内容,如果未能解决你的问题,请参考以下文章

如何编译 .nib 文件

笔尖文件的可读替代品?

Xcode 6.1 - 无法打开 Nib,因为您无权查看它

如何使用 ibtool 生成字符串文件?

Java - 读取 BZ2 文件并即时解压缩/解析

是否有替代使用 NSTimer 来显示音频文件的剩余时间和 AVAudioPlayer?