Я разработал два разных приложения
- App1 — с включенным Healthkit.
- App2 - ионное приложение
Задача приложения 1: чтение данных из комплекта здоровья, хранящегося на сервере.
Задача App2: получить сохраненные данные с сервера и отобразить.
Я запустил App2 из App1, используя openURLScheme. Таким образом, App1 работает в фоновом режиме, а также должно продолжаться от 3 минут до часа.
Я пробовал следующий сценарий:
bgTask = self.applicationUI!.beginBackgroundTaskWithName("MyTask", expirationHandler: { () -> Void in
self.applicationUI!.endBackgroundTask(self.bgTask!)
self.bgTask = UIBackgroundTaskInvalid;
})
self.bgTask = UIApplication.sharedApplication().beginBackgroundTaskWithExpirationHandler({ () -> Void in
self.monitorInBackground()
})
Я получаю сообщение об ошибке: permittedBackgroundDuration: 180.000000 причина: finishTask
экстенсивный фоновый процесс в течение следующих 3 минут (после введения IOS 7. до IOS 7 время выполнения процесса составляло 10 минут).
Примечание:
Я надеюсь, что это возможно с помощью тихого уведомления APNS. Но я ожидал лучшего решения, чем APNS.