“扁平化编译的xib文件”项目构建选项“做啥”

Posted

技术标签:

【中文标题】“扁平化编译的xib文件”项目构建选项“做啥”【英文标题】:What does the "Flatten compiled xib files" project build option "do"“扁平化编译的xib文件”项目构建选项“做什么” 【发布时间】:2011-04-25 20:25:46 【问题描述】:

"将一个XIB文件编译成扁平化的 (非包装)NIB 文件。后 变平,得到的 NIB 更多 紧凑但不再可编辑 界面生成器。当这个选项 被禁用,生成的 NIB 文件 在界面中保持可编辑 生成器。”

这是选项的描述,似乎是我能找到的唯一官方参考。事实上,我也找不到太多非官方的——我看到人们谈论这个设置的唯一一次是关于本地化的难度。

我不知道“扁平化(非包装)”是什么意思。如果有人能对此有所了解,那我就放心了。

虽然我想知道这对我的代码的确切影响,但这里的短期目标是试图弄清楚这是否“弥补”了容器视图。唯一目的是在界面构建器中移动分组数据的视图。在应用了这种“扁平化”之后,这些视图是否仍然会导致设备运行时加载延迟。一个下午的仪器摆在我面前,但过去我做过这样的测试,结果好坏参半。

感谢您的任何见解。

【问题讨论】:

【参考方案1】:

默认情况下,界面构建器文件在构建过程中会被压缩/展平。这样做的好处主要是减小了最终大小,加载速度也可能稍快。

ios 3.2 之前,XIB 文件总是扁平化的。仅在 3.2 之后才将其作为选项公开,可能是为了适应某些开发人员的工作流程。

来自 iOS 3.2 发行说明:

支持外部本地化工具 和工作流,Interface Builder 3.2.2 支持保存 iPhone 的选项 可编辑的笔尖格式的文档。 此外,Xcode 构建设置 “扁平化编译的 XIB 文件”和 “剥离 NIB 文件”现在适用于 iPhone Interface Builder 文档中的 它们适用于 Mac OS X 的方式相同 文件。默认情况下,nib 文件将 构建时被剥离。

iOS 3.2 支持加载未剥离的 nib 文件, 但 3.2 之前的 iOS 版本没有。 如果您选择构建未剥离的笔尖 支持本地化的文件 工作流程,您应该使用 ibtool 的 --strip 命令剥离 nib 本地化后或临时文件 还原“扁平化编译的 XIB 文件”和“剥离 NIB 文件”构建 建立兼容的 nib 文件的设置 与以前的 iOS 版本。

【讨论】:

以上是关于“扁平化编译的xib文件”项目构建选项“做啥”的主要内容,如果未能解决你的问题,请参考以下文章

如何发布java web项目,需要做啥配置?

当我不能运行这个项目时,Maven 正在做啥样的魔法?

我使用 google 按钮登录首先进入主页,然后显示登录选项(电子邮件帐户)。在这里做啥?

var io = require('../..')(server) 做啥?

项目部署流程

VC++“排除目录”项目设置实际上是做啥的?