2015-02-27 3 views
13

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

Edit: - Пробовал, используя как апи ниже, но не работает: -

Apple, часы Код

Вызов Внутри interfaceController.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 код

Calling Inside Appdelegate.m

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

Вы можете передать данные между двумя приложениями, используя '+ (BOOL) openParentApplication: (NSDictionary *) userInfo reply: (void (^) (NSDictionary * replyInfo, ошибка NSError *)); // запускает приложение iOS с телефоном. userInfo должен быть не-nil', но даже я искал поиск, но не смог найти ответы на здесь –

+0

Да, я могу передать данные, но я хотел запустить приложение iOS, используя вышеприведенную api из iwatch –

+0

Я думаю, что он все еще в нам нужно подождать, пока они не добавят методы для них. В настоящее время у нас есть очень ограниченные методы. Я уверен, что они скоро его добавят. –

ответ

18

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

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

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

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

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

+1

Спасибо за ответ, но как я могу принести приложение iOS на передний план с помощью API-интерфейса Handoff? У вас есть образец кода, который будет делать то же самое? –

+0

Привет @Hussain, я обновил свой ответ, чтобы провести вас через добавление Handoff к вашему продюсеру и iOS-приложению. – cnoon

+0

Спасибо, cnoon, но в симуляторе, могу ли я проверить? –

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