允许从主bundle资源中删除文件/文件夹



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

我在代码中所做的是:

  1. 在第一次启动时,将捆绑歌曲从Main Bundle Resources复制到documents目录
  2. 从主捆绑包资源中的原始位置删除文件

我所有这些都很好,所以我知道这是可能的。我的问题是,有人能给我指一下苹果的文档/指导方针,上面说我不允许这样做吗?或者,根据苹果的指导方针,这完全可以接受吗?我知道他们不希望你写参考资料文件夹,但还没能找到删除的明确答案。

您要查找的文档在应用程序分发指南[emphasis mine]中:"

通过对应用程序进行代码签名,操作系统可以识别谁对你的应用程序进行了签名,并验证你的应用自签名以来是否未被修改。应用程序的可执行代码受其签名保护,因为如果应用程序捆绑包中的任何可执行代码发生更改,则签名将无效请注意,图像和nib文件等资源没有签名;因此,对这些文件的更改不会使签名无效

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

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

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

最新更新