Ios 你能从WatchKit 1.0应用程序中唤醒手机吗?

Ios 你能从WatchKit 1.0应用程序中唤醒手机吗?,ios,objective-c,watchkit,Ios,Objective C,Watchkit,我正在开发一个客户端应用程序,它有GeoFence,当用户接近某个应用程序供应商时,它会通知用户 当location manager启动时,它会调用本地通知,其中fireDate为当前日期 如果用户的iPhone被锁定,并且他们有一个配对的Apple watch,它会在手表上显示一个自定义通知。用户可以关闭通知,或点击自定义操作按钮 我希望自定义操作按钮唤醒手机并在应用程序中显示供应商页面。有点像自动切换。用户通过单击手表上的“查看供应商”页面来表达其进入供应商页面的愿望 可能吗?我目前正在使用

我正在开发一个客户端应用程序,它有GeoFence,当用户接近某个应用程序供应商时,它会通知用户

当location manager启动时,它会调用本地通知,其中fireDate为当前日期

如果用户的iPhone被锁定,并且他们有一个配对的Apple watch,它会在手表上显示一个自定义通知。用户可以关闭通知,或点击自定义操作按钮

我希望自定义操作按钮唤醒手机并在应用程序中显示供应商页面。有点像自动切换。用户通过单击手表上的“查看供应商”页面来表达其进入供应商页面的愿望

可能吗?我目前正在使用
+[WKInterfaceController-openParentApplication:reply://code>方法来尝试调用父iOS应用程序。但是,如果手机被锁定,则不会发生任何事情。iPhone屏幕保持黑暗,没有声音,什么都没有

如果在按下手表上的操作按钮之前解锁手机,手机会激活应用程序并向其发送显示供应商页面的消息

作为第二个问题,是否可以设置我的手表应用程序,以便当用户单击通知按钮时,手表应用程序将消息传递到iPhone应用程序,然后关闭手表应用程序?现在,我的客户机除了一个将用户带到供应商页面的自定义通知之外,没有任何其他功能在监视中运行。手表应用程序的主屏幕在这一点上只是一个占位符,当你点击自定义操作按钮并得到空屏幕时,它看起来很愚蠢


(顺便说一句,我知道在watch kit 1.0中,watch应用程序的代码实际上是在iPhone上运行的,但它是作为一个单独的过程运行的,因此谈论手表向iPhone发送消息是很有用的,尽管这并不完全是在进行的。)

答案显然是否定的,也不是

苹果认为唤醒手机是用户必须直接从手机上完成的事情

我所做的是让手表发送到手机的
openParentApplication:reply:error:
消息在后台查找来自iPhone的回复字典,其中包含一个包含bool YES或NO的键/值对

如果wasInBackground==是,它会显示一条模式消息,告诉用户需要在手机上打开应用程序才能查看内容

如果wasInBackground==否,则手机处于唤醒状态,应用程序位于最前面,因此应用程序能够显示用户提供的内容

然后,在手机端,如果手表在后台发出消息,我会检查手表请求的操作类型。如果是显示驾驶方向的请求,我将创建一个包含显示驾驶方向代码的块,并将其设置在应用程序委托的“BlockToRunnReturnToForeGround”属性中。然后,当应用程序委托收到applicationWillEnterForeground消息时,它检查是否有非nil的“BlockToRunnReturnToForeground”,如果有,则调用它并将其置零

结果是,当用户最终将应用程序返回前台时,它会发出驾驶方向请求

用户体验并不像我所希望的那样天衣无缝,但至少用户不会完全困惑于为什么当他们点击手表上的某个动作按钮时什么都没有发生