(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)'

Это то, что я сделал до сих пор.

  1. Создал два пакета ресурсов с тегами Bell1 и Bell2.
  2. Запрос тега Bell1 для appDidFinishLauching после вызова условно BeginAccessingResourcesWithCompletionHandler.
  3. Запрос Bell2 на viewDidLoad контроллера Home после завершения входа в систему.

(Просто к вашему сведению: я пока нигде не вызываю endAccessingResources.)

Если я удаляю шаг 3 или запрашиваю оба ресурса в одном запросе, приложение работает нормально. Если я создаю два одновременных NSBundleResourceRequest, то приложение падает.

До сих пор я искал stackru и читал документацию, но не смог найти никакой помощи по этой проблеме.

1 ответ

Решение

Я нашел проблему. Я звонил beginAccessingResourcesWithCompletionHandler на одном и том же объекте NSBundleResourceRequest несколько раз.

Поэтому я решил эту проблему, создав новый экземпляр NSBundleResourceRequest для каждого последующего запроса.

Другие вопросы по тегам