主捆绑包和应用程序目录中的文件



我正在制作一个iOS应用程序,该应用程序用存储在应用程序主捆绑包中的.plist文件中的字符串填充UITableView(通常有.plist)。我注意到这个.plist正被构建阶段的Copy Bundle Resources阶段复制到我的应用程序目录中。我开始怀疑它是否真的需要在那里,因为我是从应用程序的主捆绑包而不是应用程序目录访问它的。因此,作为一项测试,我从Copy Bundle Resources阶段删除了.plist,运行了应用程序,发现我的UITableView中仍然填充着.plist中的字符串。我已经清理了构建并再次运行了该应用程序,它确实有效。两个问题:

  1. 如果你的应用程序对安全和隐私感兴趣,你不应该总是从Copy Bundle Resources阶段删除安全/私有资源,这样它们就无法访问吗
  2. 为什么像情节提要这样的资源在默认情况下会被复制,而实际上并没有从那里访问?">

非常感谢的帮助

您做出了错误的假设。应用程序目录主捆绑包。当您从复制阶段删除文件时,它们将不会安装在您的应用程序中,并且应用程序将失败。

它之所以看起来有效,是因为建筑走捷径。正常的生成不会删除上一个生成放在捆绑包中的文件。

如果你(从项目菜单)进行清理,然后重新构建,Xcode将删除应用程序的前一个副本,并从头开始重新构建。您还应该将其从目标设备/模拟器中删除,因为当它将新版本复制到设备上时,它还会从以前的版本中提取剩余资源。

相关内容

最新更新