(ODR) OnDemandResource 'beginAccessingResources 被多次调用或在错误的时间被调用 (3)
(ODR) OnDemandResource 'beginAccessingResources was called more than once or at the wrong time (3)
我正在尝试在我的应用程序中引入 ODR 并面临以下崩溃。
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'beginAccessingResources was called more than once or at the wrong time (3)'
这是我目前所做的。
- 创建了两个带有标签 Bell1 和 Bell2.
的资产包
- 在调用 conditionallyBeginAccessingResourcesWithCompletionHandler.
后请求 appDidFinishLauching 上的 Bell1 标记
- 登录完成后在Home控制器的viewDidLoad请求Bell2
(仅供参考:我暂时不会在任何地方调用 endAccessingResources。)
如果我删除第 3 步或在单个请求中请求这两个资源,则该应用程序可以正常运行。如果我同时创建两个 NSBundleResourceRequest,那么应用程序就会崩溃。
到目前为止,我已经搜索了 Whosebug 并阅读了文档,但找不到有关此问题的任何帮助。
我找到问题了。我在同一个 NSBundleResourceRequest 对象上多次调用 beginAccessingResourcesWithCompletionHandler
。
所以我通过为每个后续请求创建一个新的 NSBundleResourceRequest 实例来解决它。
我正在尝试在我的应用程序中引入 ODR 并面临以下崩溃。
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'beginAccessingResources was called more than once or at the wrong time (3)'
这是我目前所做的。
- 创建了两个带有标签 Bell1 和 Bell2. 的资产包
- 在调用 conditionallyBeginAccessingResourcesWithCompletionHandler. 后请求 appDidFinishLauching 上的 Bell1 标记
- 登录完成后在Home控制器的viewDidLoad请求Bell2
(仅供参考:我暂时不会在任何地方调用 endAccessingResources。)
如果我删除第 3 步或在单个请求中请求这两个资源,则该应用程序可以正常运行。如果我同时创建两个 NSBundleResourceRequest,那么应用程序就会崩溃。
到目前为止,我已经搜索了 Whosebug 并阅读了文档,但找不到有关此问题的任何帮助。
我找到问题了。我在同一个 NSBundleResourceRequest 对象上多次调用 beginAccessingResourcesWithCompletionHandler
。
所以我通过为每个后续请求创建一个新的 NSBundleResourceRequest 实例来解决它。