Проблемы с синхронизацией информации между Today Widget, приложением iPhone и Apple Watch
У меня есть приложение, которое может записывать продолжительность, которую пользователь потратил на разные проекты.
Цель состоит в том, чтобы пользователь мог запустить секундомер для проекта из
- Основное приложение iOS, работающее на iPhone
- Виджет Сегодня
- Apple Watch
У меня возникла проблема с синхронизацией информации о секундомере между устройствами, и я уже потратил на них много времени, но безуспешно:
Проблема и попытки:
Когда пользователь запускает или останавливает секундомер в виджете "Сегодня", я хотел бы разбудить приложение iPhone, чтобы обновить значок приложения iPhone и обновить услугу Apple Watch.
Я попытался добавить наблюдателя в NSNotificationCenter для изменения NSUserDefaults. Но расширение работает в другом процессе, и NSNotificationCenter не может обработать этот случай.
Я также пробовал уведомления Дарвина (CFNotificationCenterAddObserver
). Они могут работать с разными процессами, но работают только в том случае, если приложение для iPhone активно: они не пробуждают мое приложение.
Устройства и ОС
- iPhone 6s с iOS 9.1
- Apple Watch с watchOS 2.0.1