Vil*_*oft 5 xcode swift swift3
我有一个 swift4 应用程序,该应用程序在下载时遇到了按需资源包挂起的某些问题。该问题似乎与 testflight 环境中使用的不同版本的资源包有关,而不是 prod。一些用户表示这些包没有下载,但几天后(大概是在操作系统清除了包之后),下载又开始工作了。
我的问题是,有没有办法强行清除下载的包,而不是等待操作系统自行删除它们。我知道它可以通过 xcode 完成(通过数据面板中的清除),但我需要一个应用程序本身固有的解决方案。(使用 NSBundleResourceRequest.endAccessingResources() 函数只会停止正在使用的资源,而不会删除它们)
简而言之,无法以编程方式删除 ODR。我问过类似的问题并得到了答案:
\n\n\n\n目前无法以编程方式清除 ODR 资源。这取决于操作系统的判断。
\n\n当发起对 ODR 内容的新网络请求时,系统将执行某种库存检查,检查当前内存中的内容以及是否有新内存的空间。此检查还考虑了其他几个指标,例如当前正在使用哪些资产、最近使用过哪些资产、正在用于 UI 的资产等。
\n\n完成此操作后,系统将确定要清除多少所选资产,以便有足够的空间来容纳新内容。如果我没记错的话,操作系统将尝试删除整个资产包。这意味着,如果系统正在清除资产,它将清除组合在一起的资源,例如,如果用户处于级别 4,则来自级别 1、级别 2 和级别 3 的所有资产。因此,系统可能会清除比实际需要的空间稍多一些。
\n\n如果您想更改应用程序的 ODR 资产,则必须向应用程序提交更新。
\n
| 归档时间: |
|
| 查看次数: |
808 次 |
| 最近记录: |