Как запустить приложение iOS от Apple Watch?

Есть ли способ запустить приложение iOS из Apple Watch?

Изменить: - Пробовал использовать оба api ниже, но не работает: -

Apple Watch Code

Вызов внутреннего интерфейсаController.m

+ (BOOL)openParentApplication:(NSDictionary *)userInfo reply:(void(^)(NSDictionary *replyInfo, NSError *error)) reply;    // launches containing iOS application on the phone. userInfo must be non-nil

Код iOS

Вызов внутри Appdelegate.m

- (void) application:(UIApplication *) application handleWatchKitExtensionRequest:(NSDictionary *)userInfo reply:(void (^)(NSDictionary *))reply

Ответы

Ответ 1

Ответ на самом деле довольно интересный. Это YES и NO.

Вы можете открыть приложение в фоновом режиме с помощью метода openParentApplication:reply:. Это запустит приложение в фоновом режиме, если оно будет завершено или заложено. Он просто вызовет приложение, если оно уже находится на переднем плане.

НЕ МОЖЕТ принести приложение iOS на передний план из расширения часов, если оно еще не выделено. Это противоречит политике Apple. Хотя вы действительно можете это сделать в iOS Simulator, Apple подтвердила, что вы не можете сделать это на устройстве или отправить решение в App Store. Дополнительную информацию см. В статье на форумах разработчиков.

Если вам нужно перенести приложение iOS на передний план, единственный способ, которым вы можете частично сделать это на данный момент, - использовать API Handoff. Вот еще одна ссылка на Руководство по программированию передачи обслуживания. Когда вы внимательно прочитаете оба этих документа, вы увидите, как работает система Handoff.

Чтобы реализовать, вам нужно добавить WKInterfaceController updateUserActivity:userInfo:webpageURL: в Расширение часов. Затем вам нужно реализовать UIApplicationDelegate application:continueUserActivity:restorationHandler: в приложении iOS. К сожалению, вы не сможете проверить это решение до тех пор, пока у вас не появится Apple Watch, но документы четко заявят, что это будет поддерживаться.