0

Я пытаюсь реализовать обходное решение, чтобы открыть приложение для iPhone из приложения Apple Watch.Запуск приложения iPhone из парных часов яблока

Вот мой случай использования для этого с уведомлением:

Watch displays an available deal with a CTA button to see details on Phone 

-------------------------- 
New rates options published! 

check details on phone 

<Button> 
--------------------------- 

Когда пользователь выбирает кнопку на часах, пользователь получает локальный уведомление на спаренном телефоне «Checkout ваш Новый Rate Параметры «

При выборе локального уведомления приложение запускается с подробными сведениями.

Мой подход:

**On watch:** 

call *openParentApplication:reply:* ...this will open the iOS app in the background 

**On app:** 

In *application:handleWatchKitExtensionRequest:reply:* 
...which is called on the iOS app when opened in background, trigger a local notification 


**User:** 

User picks the local notification to bring app to the foreground 

Будет ли это работать? Если да, то каким образом я могу инициировать немедленное локальное уведомление из приложения, работающего в фоновом режиме?

Заключительный вопрос: существует ли (законный) способ сделать это без необходимости местного уведомления (которое не будет отклонено магазином приложений)?

ответ

3

Утвержденный способ сделать это будет использовать Handoff вместо местного уведомления. С помощью Handoff вы указываете текущую активность, происходящую на ваших часах, используя метод updateUserActivity:userInfo:webpageURL:WKInterfaceController. Затем, когда пользователь смотрит на экран блокировки iPhone, он увидит значок приложения в нижнем левом углу. Прокручивание оттуда приведет к запуску приложения, и действие Handoff будет передано в приложение по мере его запуска, чтобы вы могли глубоко связать по мере необходимости.

Использование местных уведомлений для этой цели может сработать, но это будет иметь некоторые недостатки. Во-первых, это тяжело; Передача обслуживания является более пассивной в своем подходе. Во-вторых, чтобы запланировать локальное уведомление, пользователь должен будет согласиться на их получение; это неожиданное поведение с точки зрения пользователя.

Кроме того, имейте в виду, что в watchOS 2 метод openParentApplication:reply: недоступен ... на его место встал подлинный коммуникационный API. Проверьте WatchOS 2 Transition Guide для получения дополнительной информации и ознакомьтесь с рамкой WatchConnectivity.

+0

Конечно, должен был подумать о передаче обслуживания! Спасибо за указатель! Попробуй это. – CoolDocMan

Смежные вопросы