1

我正在设计一个与一些音频文件捆绑在一起的应用程序。它们的总大小约为 50MB。该应用程序将允许您通过应用程序内购买下载其他音频文件。我的目标是将所有这些文件存储在一个位置(文档目录)。

我在我的代码中所做的是:

  1. 首次启动时,将捆绑的歌曲从 Main Bundle Resources 复制到文档目录。
  2. 从 Main Bundle Resources 中的原始位置删除文件。

我所有这些工作都很好,所以我知道这是可能的。我的问题是,谁能指出我不允许这样做的 Apple 文档/指南?或者,根据 Apple 的指导方针,这完全可以接受吗?我知道他们不希望您写入 Resources 文件夹,但无法找到删除的明确答案。

4

2 回答 2

3

这是不可接受的,并且在设备上运行时不起作用(我猜您正在模拟器上进行测试)。您无法编辑捆绑包内容。捆绑包已签名并且编辑它将使签名无效。

建议在没有音频文件的情况下部署应用程序,然后在首次启动后(如果您可以选择),只要有(合适的)互联网连接就开始下载它们。

于 2013-08-30T13:17:13.063 回答
3

您正在寻找的文档在App Distribution Guide [强调我的]:"

对您的应用程序进行代码签名允许操作系统识别谁为您的应用程序签名,并验证您的应用程序在您签名后未被修改。您的应用程序的可执行代码受其签名保护,因为如果应用程序包中的任何可执行代码发生更改,该签名就会失效。注意图片和nib文件等资源是没有签名的;因此,对这些文件的更改不会使签名无效。

也就是说,正如我在对@Wain 答案的评论中指出的那样,如果文件是只读的,这可能不是一件好事。它在首次启动时增加了一个很大的复制步骤,每次升级时您都必须再次处理它。

于 2013-08-30T13:24:45.537 回答