按需资源 - 强制清除/清除下载的资源包

Vil*_*oft 5 xcode swift swift3

我有一个 swift4 应用程序,该应用程序在下载时遇到了按需资源包挂起的某些问题。该问题似乎与 testflight 环境中使用的不同版本的资源包有关,而不是 prod。一些用户表示这些包没有下载,但几天后(大概是在操作系统清除了包之后),下载又开始工作了。

我的问题是,有没有办法强行清除下载的包,而不是等待操作系统自行删除它们。我知道它可以通过 xcode 完成(通过数据面板中的清除),但我需要一个应用程序本身固有的解决方案。(使用 NSBundleResourceRequest.endAccessingResources() 函数只会停止正在使用的资源,而不会删除它们)

DàC*_*hún 2

简而言之,无法以编程方式删除 ODR。我问过类似的问题并得到了答案:

\n\n
\n

目前无法以编程方式清除 ODR 资源。这取决于操作系统的判断。

\n\n

当发起对 ODR 内容的新网络请求时,系统将执行某种库存检查,检查当前内存中的内容以及是否有新内存的空间。此检查还考虑了其​​他几个指标,例如当前正在使用哪些资产、最近使用过哪些资产、正在用于 UI 的资产等。

\n\n

完成此操作后,系统将确定要清除多少所选资产,以便有足够的空间来容纳新内容。如果我没记错的话,操作系统将尝试删除整个资产包。这意味着,如果系统正在清除资产,它将清除组合在一起的资源,例如,如果用户处于级别 4,则来自级别 1、级别 2 和级别 3 的所有资产。因此,系统可能会清除比实际需要的空间稍多一些。

\n\n

如果您想更改应用程序的 ODR 资产,则必须向应用程序提交更新。

\n
\n