在iOS应用程序的xcode中存储数千个文件(在软件包内)

时间:2012-12-02 13:43:38

标签: ios xcode

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

只需几千个文件,Xcode就会慢慢爬行,当你达到数万个时,它会停止工作(各种按钮会导致Xcode崩溃)。我甚至听说过当你浏览超过65,535个文件时,一些内置功能停止工作,因为Apple的某个人使用16位int存储索引,感叹。

有什么选择?似乎应该有一些方法告诉Xcode“所有这些文件都是静态二进制文件,你永远不会接触,把它们捆绑在一起然后再点燃它们”。但谷歌搜索和阅读文档,我找不到任何:(

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分: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. 重复这三个步骤直到完成。
  8. 这是恕我直言的一个hacky解决方案 - 令人沮丧的是,Xcode无法应对大约15年前所有其他IDE解决的这个简单问题 - 但它确实有效。

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