【问题标题】:Does Xcode implicitly convert plists's to binary format?Xcode 是否将 plist 隐式转换为二进制格式?
【发布时间】:2012-09-10 19:52:07
【问题描述】:

Xcode 是否在构建过程中将项目中的 plist 隐式转换为二进制?我不认为它是隐含的,但很难确定。

【问题讨论】:

    标签: xcode plist


    【解决方案1】:

    有一个名为“Property List Output Encoding”(又名 PLIST_FILE_OUTPUT_FORMAT)的构建设置,可用于告诉 Xcode 在执行构建时将复制的 plist 转换为不同的格式。默认值是“same-as-input”,因此它不应该进行任何转换,除非您专门将该值更改为其他值。如果您想将您的 plist 转换为二进制,以节省空间和/或加载时间,只需在 Xcode 的目标构建设置中将该设置更改为“二进制”。

    【讨论】:

    • 嗯...我怎么知道转换有效?我尝试了这个设置,但是当我在应用程序的管理器中浏览派生数据时,它似乎仍然是 XML 格式。此外,还有另一个设置 APPLY_RULES_IN_COPY_FILES,描述说:“默认情况下,使用“复制文件构建阶段”复制的文件未更改。将此设置为 TRUE 会导致属性列表 (.plist) 和字符串文件按照“指定”进行转换属性列表输出编码'和'字符串文件输出编码'。”但是,我尝试将此设置为 TRUE,但似乎没有任何区别。
    • @user1459524 这确实有效,无需修改APPLY_RULES_IN_COPY_FILES。 Finder 在 QuickLook 中将其显示为文本表示,但如果您使用 VIM 等文本编辑器打开实际文件,您将看到它是二进制文件。在文件上运行 file 将显示差异(尝试将 PLIST 设置更改为与输入相同)
    【解决方案2】:

    对于所有面临 Localizable.strings binary 格式的人,这里有一个链接帮助了我: link

    您将在 Build Settings -> Packaging 部分(带有 All 选项)下找到属性。

    【讨论】:

      猜你喜欢
      • 2010-09-20
      • 1970-01-01
      • 1970-01-01
      • 2011-08-12
      • 2016-06-08
      • 2014-05-09
      • 1970-01-01
      • 2014-02-06
      • 2014-02-18
      相关资源
      最近更新 更多