CloudKit: CKOperations не запускается, когда приложение приостановлено
Я слушаю удаленные уведомления из CKSubscription из публичной базы данных CloudKit. Я хочу обработать случай, когда я получаю уведомления, пока приложение приостановлено... Я имитирую это на своем устройстве, запустив приложение с помощью XCode с опцией "Ожидание запуска исполняемого файла". Я заметил, что application:didReceiveRemoteNotification:fetchCompletionHandler
Метод делегата вызывается правильно, и я в очереди CKFetchNotificationChangesOperation
операция после этого, но операция никогда не запускается. Я не понимаю ничего из notificationChangedBlock
или же fetchNotificationChangesCompletionBlock
Обратные вызовы. То же самое отлично работает, если приложение работает на переднем плане и приходит уведомление.
Я попытался установить QoS для CKOperation и очереди операций на NSQualityOfServiceUserInteractive
но, похоже, это тоже не поможет.
Я также пробую это по WiFi, с iPhone, подключенным к моему компьютеру на 100% -ной зарядке.
Есть ли что-то еще, что мне нужно изучить, чтобы заставить CKOperations работать в фоновом режиме?
1 ответ
Я полагаю, что вы вызываете обработчик завершения выборки слишком рано, что приостанавливает работу приложения. Вам нужно позвонить в конце всех ваших операций.