5

我正在尝试在我们的应用程序中使用 ODR,并已创建标签并将其分组在预取下的初始安装标签选项下。

  1. 我不确定如何在模拟器和使用开发配置文件的设备上验证这一点。
  2. TestFlight 是验证初始安装标签使用情况的唯一选择吗?
  3. 即使对于标记为初始安装的资源,我是否也必须使用 NSBundleResourceRequest?我对初始安装标签的理解是,它会随应用程序自动下载。所以,我认为这个请求是不需要的。如果我错了,请纠正我。
4

2 回答 2

3

我使用初始安装标签在我们的应用程序中实现了 ODR 支持(尽管我没有使用 TestFlight 对其进行测试)。

  1. 我不确定如何在模拟器和使用开发配置文件的设备上验证这一点。 -- 我通过将资产包嵌入到 Bundle 本身中进行了本地测试。
  2. TestFlight 是验证初始安装标签使用情况的唯一选择吗? -- 还没有测试过。但是,我认为答案是肯定的。
  3. 即使对于标记为初始安装的资源,我是否也必须使用 NSBundleResourceRequest? - 是的。我们如何获取标记为“仅按需下载”、“初始安装标签”和“预取标签顺序”的资源之间没有区别

我进行了一项更改,使我的应用程序正确使用了 ODR 内容。我将 NSBundleResourceRequest 对象作为局部变量。它应该是一个实例变量。参考:https ://iosguy.com/2015/09/18/on-demand-resources/

于 2016-08-25T09:05:18.073 回答
0

根据 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

在此处输入图像描述

https://forums.developer.apple.com/thread/9530

在此处输入图像描述

于 2016-10-05T08:10:52.840 回答