(ODR) OnDemandResource 'beginAccessingResources вызывался более одного раза или в неправильное время (3)
Я пытаюсь ввести ODR в свое приложение и сталкиваюсь со следующим сбоем.
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'beginAccessingResources was called more than once or at the wrong time (3)'
Это то, что я сделал до сих пор.
- Создал два пакета ресурсов с тегами Bell1 и Bell2.
- Запрос тега Bell1 для appDidFinishLauching после вызова условно BeginAccessingResourcesWithCompletionHandler.
- Запрос Bell2 на viewDidLoad контроллера Home после завершения входа в систему.
(Просто к вашему сведению: я пока нигде не вызываю endAccessingResources.)
Если я удаляю шаг 3 или запрашиваю оба ресурса в одном запросе, приложение работает нормально. Если я создаю два одновременных NSBundleResourceRequest, то приложение падает.
До сих пор я искал stackru и читал документацию, но не смог найти никакой помощи по этой проблеме.
1 ответ
Я нашел проблему. Я звонил beginAccessingResourcesWithCompletionHandler
на одном и том же объекте NSBundleResourceRequest несколько раз.
Поэтому я решил эту проблему, создав новый экземпляр NSBundleResourceRequest для каждого последующего запроса.