CloudKit: CKOperations не запускается, когда приложение приостановлено

Я слушаю удаленные уведомления из CKSubscription из публичной базы данных CloudKit. Я хочу обработать случай, когда я получаю уведомления, пока приложение приостановлено... Я имитирую это на своем устройстве, запустив приложение с помощью XCode с опцией "Ожидание запуска исполняемого файла". Я заметил, что application:didReceiveRemoteNotification:fetchCompletionHandler Метод делегата вызывается правильно, и я в очереди CKFetchNotificationChangesOperation операция после этого, но операция никогда не запускается. Я не понимаю ничего из notificationChangedBlock или же fetchNotificationChangesCompletionBlock Обратные вызовы. То же самое отлично работает, если приложение работает на переднем плане и приходит уведомление.

Я попытался установить QoS для CKOperation и очереди операций на NSQualityOfServiceUserInteractive но, похоже, это тоже не поможет.

Я также пробую это по WiFi, с iPhone, подключенным к моему компьютеру на 100% -ной зарядке.

Есть ли что-то еще, что мне нужно изучить, чтобы заставить CKOperations работать в фоновом режиме?

1 ответ

Я полагаю, что вы вызываете обработчик завершения выборки слишком рано, что приостанавливает работу приложения. Вам нужно позвонить в конце всех ваших операций.

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