从iPhone应用程序中的iWatch触发动作来控制蓝牙设备

时间:2015-04-15 11:13:33

标签: ios iphone bluetooth watchkit

当用户点击iWatch界面时,我想触发iPhone应用程序中的操作来控制蓝牙设备。需要采取哪些步骤?

我可以在iWatch上添加按钮并将其链接到iWatch接口控制器代码。但是,如何将操作发送到iPhone源代码?我有一个处理蓝牙通信的单例对象,并且存在于iPhone捆绑包中,我需要一种方法:

  • 唤醒iPhone应用程序
  • 将操作传递给iPhone应用程序中的相关逻辑控制器

2 个答案:

答案 0 :(得分:2)

您可以使用openParentApplication方法唤醒您的iphone应用。

基本上,在您的观看扩展程序中,您可以:

[WKInterfaceController openParentApplication:@{@"action" : @"turnBTON"}
                                       reply:^(NSDictionary *replyInfo, NSError *error) {

}

在你的AppDelegate中,你覆盖:

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

This tutorial有一个简单的例子,如果你需要的话。

答案 1 :(得分:1)

您可以使用WatchKit API调用包含的iOS App以使用

打开和处理操作
openParentApplication:reply:

记录在案here

然而,还有一个开源项目 - MMWormhole它试图在Watch App和iPhone App之间的近运行时通信中运行。

我不确定这些方法中的任何一种是否允许"背景"在iPhone上执行。