如何从Apple Watch启动iOS App?

Hus*_*bir 14 objective-c apple-watch watchkit

有没有办法从Apple Watch推出iOS应用程序?

编辑: - 尝试使用下面的两个api但不起作用: -

Apple Watch Code

调用insideController.m

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

iOS代码

在Appdelegate.m内部调用

- (void) application:(UIApplication *) application handleWatchKitExtensionRequest:(NSDictionary *)userInfo reply:(void (^)(NSDictionary *))reply
Run Code Online (Sandbox Code Playgroud)

cno*_*oon 19

答案其实非常有趣.它是YESNO.

可以通过该openParentApplication:reply:方法在后台打开应用程序.如果应用程序终止或后台运行,它将在后台启动应用程序.只要它已经在前台,它就会调用它.

您不能把iOS应用,从关注扩展的前景,如果它不被前景化.这违反了Apple的政策.虽然您可以在iOS模拟器中实际执行此操作,但Apple已确认您无法在设备上执行此操作或将解决方案提交到App Store.有关更多信息,请参阅dev论坛上的这篇文章.

如果您需要将iOS应用程序置于前台,那么目前可以部分执行此操作的唯一方法是使用Handoff API.这是Handoff Programming Guide的另一个链接.一旦仔细阅读了这两个文档,您就会清楚地看到Handoff系统的工作原理.

要实现,您需要WKInterfaceController updateUserActivity:userInfo:webpageURL:在Watch Extension中添加.然后,您需要UIApplicationDelegate application:continueUserActivity:restorationHandler:在iOS应用中实现.不幸的是,在您拥有Apple Watch之前,您将无法测试此解决方案,但文档明确指出这将得到支持.