3

我有一个包含大约 20,000 个图像文件(动画帧)的应用程序。由于一大堆原因,手动打包这些是不可行的(尽管......如果我有更多时间,我会这样做)。

Xcode 只有几千个文件就会慢下来,当你达到数万个文件时,它会完全停止工作(各种按钮会使 Xcode 崩溃)。我什至听说过当你浏览超过 65,535 个文件时,一些内置功能会停止工作,因为 Apple 有人使用 16 位 int 来存储索引,叹息。

有哪些选择?似乎应该有某种方式告诉 Xcode “所有这些文件都是静态二进制文件,你永远不会触摸它们,将它们放在一个包中并忽略它们”。但是谷歌搜索和阅读文档,我找不到任何:(

4

2 回答 2

1

您可以将压缩版本保存在包中,并在运行时将其解压缩到应用程序的用户目录中。这只需要做一次。

于 2012-12-02T14:17:33.340 回答
0

最后,我半自动地打包了它们。我会在这里解释,以防它帮助其他有同样问题的人 - 直到/除非有人想出更好的答案:(

  1. 发明了我自己的文件格式,以一种快速解码的方式将 100 个 PNG 文件打包成一个文件
  2. 实现的编码/解码方法
  3. 在我的应用程序中编写了一对很小的 Obj-C 方法(仅通过调试开关启用),它们在运行时获取所有 PNG 文件,并将它们打包成 N 个文件。
  4. 将前 1,000 个文件移动到项目中
  5. 在模拟器上运行应用程序,在硬盘上找到模拟器文件夹(它在带有 Xcode4.5 的 OS X Mountain Lion 下的 Library/ApplicationSupport/iPhoneSimulator 中)
  6. 将“打包”文件移动到主项目中
  7. 重复这三个步骤,直到完成。

恕我直言,这是一个 hacky 解决方案——令人沮丧的是,Xcode 无法处理这个在大约 15 年前由所有其他 IDE 解决的简单问题——但它确实有效。

我不为我的包格式感到自豪,而且 - 给定时间!- 我会使用标准格式和/或为此编写适当的工具。

于 2012-12-02T19:29:31.770 回答