0

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

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

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

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

+0

Кажется, что это нормально, если устройство не подключено к отладчику на самом деле –

ответ

0

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