首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从Watch中刷新Watch应用程序

从Watch中刷新Watch应用程序
EN

Stack Overflow用户
提问于 2017-04-01 15:27:47
回答 1查看 144关注 0票数 0

今天,我开始在Watch OS框架上乱搞,想把一个快速的应用程序放在一起,但我提出了几个问题。

我制作了一个iOS应用程序,它只显示当前电池的%以及电池的状态。然后我想在手表上展示一下。

  1. 只有当我完全关闭iOS应用程序,然后打开它,而手表应用程序是活跃的时候,手表应用程序才会更新。如何允许我的手表应用程序被更新,如果我打开它后,iOS应用程序已经打开?
  2. 这是第二种,但是我如何允许手表应用程序从iOS应用程序中获取信息,在它处于后台之后?例如,假设iOS应用程序处于后台,我希望在不打开iOS应用程序的情况下获取电池%。

我是怎么安排这件事的-

在iOS应用程序中,在viewDidLoad方法中,我启动会话。

代码语言:javascript
复制
 if ([WCSession isSupported]) {
    wcSession = [WCSession defaultSession];
    wcSession.delegate = self;
    [wcSession activateSession];
}

然后调用我的方法来更新实际的电池%和状态。在这个方法中,我有一个将信息发送给手表的方法:

代码语言:javascript
复制
NSDictionary *message = @{
                          @"message" : [NSString stringWithFormat:@"%@", [numberFormatter stringFromNumber:levelObj]],
                          @"message_2" : [NSString stringWithFormat:@"%ld",(long)[UIDevice currentDevice].batteryState],

                          };


[wcSession sendMessage:message replyHandler:nil errorHandler:^(NSError * _Nonnull error) {
    NSLog(@"%@", error.localizedDescription);
}];

我在viewDidAppear中也调用了同样的方法,所以我不需要完全重新启动应用程序,就可以刷新相应的手表。

在监视端,我有与viewWillActivate端相同激活的iOS方法,以及处理手表应用程序从iOS端接收到的东西的方法。但是只有当我完全重新启动iOS应用程序时,它才会更新。

代码语言:javascript
复制
    - (void)session:(WCSession *)session didReceiveMessage:(NSDictionary<NSString *,id> *)message {

    NSLog(@"Message recieved!");
    [_batteryLevelLabelW setText:message[@"message"]];
}

还有处理电池状态消息的代码,它有点长。

我希望我提供了大量的信息来帮助你。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-02 14:37:04

根据文档的说法:

使用send​Message(_:​reply​Handler:​error​Handler:​)send​Message​Data(_:​reply​Handler:​error​Handler:​)方法将数据传输到可访问的对应方。这些方法用于您的iOS应用程序和WatchKit扩展之间的即时通信。is​Reachable属性当前必须为真,才能使这些方法成功。

如果watchapp不是前台,由于isReachable是假的,消息将不会被传递。

方法您应该使用的是update​Application​Context(_:​) -它将等待直到手表应用程序将打开的前景,只有那时才会交付。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43158651

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档