我正在尝试在我们的应用程序中使用 ODR,并已创建标签并将其分组在预取下的初始安装标签选项下。
- 我不确定如何在模拟器和使用开发配置文件的设备上验证这一点。
- TestFlight 是验证初始安装标签使用情况的唯一选择吗?
- 即使对于标记为初始安装的资源,我是否也必须使用 NSBundleResourceRequest?我对初始安装标签的理解是,它会随应用程序自动下载。所以,我认为这个请求是不需要的。如果我错了,请纠正我。
我正在尝试在我们的应用程序中使用 ODR,并已创建标签并将其分组在预取下的初始安装标签选项下。
我使用初始安装标签在我们的应用程序中实现了 ODR 支持(尽管我没有使用 TestFlight 对其进行测试)。
我进行了一项更改,使我的应用程序正确使用了 ODR 内容。我将 NSBundleResourceRequest 对象作为局部变量。它应该是一个实例变量。参考:https ://iosguy.com/2015/09/18/on-demand-resources/
根据 WWDC https://developer.apple.com/videos/play/wwdc2015/214/
1) 您可以使用 X Code 中 debug navigator 的磁盘部分来验证 ODR
然而,从 XCode 8.1 beta 开始,初始安装标签并不像预期的那样工作。正如您在随附的屏幕截图中看到的那样。
2)根据我对 WWDC 的理解,这应该适用于存档版本,也适用于模拟器,只需从 XCode 运行应用程序即可。不仅是TestFlight
3) 我不认为你应该使用单独的 fetch 请求,但由于这似乎是让它工作的唯一方法,这应该被视为一种解决方法而不是解决方案。根据文档
初始安装标签。资源与应用程序同时下载。资源的大小包含在 App Store 中应用程序的总大小中。当标签未被至少一个 NSBundleResourceRequest 对象访问时,可以清除标签。
所以在我看来,这个功能并没有像记录和预期的那样工作,应该向 Apple 提交一个错误。这似乎是苹果论坛上的结论
https://forums.developer.apple.com/thread/9530