Вы создаете NSOperationQueue, добавляете к нему операцию, а затем освобождаете очередь.Это не то, как NSOperationQueues были разработаны для работы.Предполагается, что NSOperationQueue сохраняется, и вы добавляете к нему операции по мере необходимости.
Вероятно, это сбой, потому что вы освобождаете NSOperationQueue до того, как у него появится возможность запустить поток для вашей операции.Возможно, на более старых версиях ОС это было возможно сделать из-за некоторой временной привязки.
Я рекомендую выделять очередь обработки эффектов, когда она вам нужна, или при инициализации объекта контроллера, а затем сохранять этоочередь как переменная экземпляра вашего объекта контроллера.Эта очередь будет освобождена одновременно с вашим объектом контроллера, но вы, вероятно, захотите отменить все текущие операции в то время и использовать метод NSOperationQueue –waitUntilAllOperationsAreFinished
, чтобы убедиться, что вы завершаете всю работу до освобождения.