允许从主捆绑资源中删除文件/文件夹?

时间:2013-08-30 13:11:28

标签: ios appstore-approval mainbundle

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

我在代码中所做的是:

  1. 首次启动时,将捆绑的歌曲从主捆绑资源复制到文档目录。
  2. 从主要资源包中的原始位置删除文件。
  3. 我已经完成了所有这些工作,所以我知道可能。我的问题是,任何人都可以向我指出Apple文档/指南说我不允许这样做吗?或者,根据Apple的指导方针,这完全可以接受吗?我知道他们不希望你写入Resources文件夹,但是没有找到关于删除的明确答案。

2 个答案:

答案 0 :(得分:3)

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

建议在没有音频文件的情况下部署应用程序,然后在首次启动后有一个(合适的)互联网连接时立即开始下载(如果这是您的选项)。

答案 1 :(得分:3)

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

  

对您的应用进行代码签名,操作系统可以识别您的应用的签名人,并确认您的应用在签名后未被修改过。您的应用程序的可执行代码受其签名保护,因为如果应用程序包中的任何可执行代码发生更改,签名将变为无效。 请注意,图片和nib文件等资源未签名;因此,对这些文件的更改不会使签名失效。

就是说,正如我在@Wain的回答中所说的那样,如果文件是只读的,这可能不是一件好事。它在首次启动时增加了一个大的复制步骤,你必须在每次升级时再次处理它。