代码之家  ›  专栏  ›  技术社区  ›  Dmitry

可以从watchOS 3应用程序唤醒iPhone应用程序吗?

  •  3
  • Dmitry  · 技术社区  · 8 年前

    可以从watchOS 3应用程序唤醒iPhone应用程序吗?

    代码的第一部分在watchOS 2上已经足够了,但即使是这两部分代码也不能在WatchOS3上工作:

    初始化:

    if ([WCSession isSupported]) {
        WCSession* session = [WCSession defaultSession];
        session.delegate = self;
        [session activateSession];
    }
    

    在另一种方法上:

    if ([WCSession isSupported]) {
        WCSession* session = [WCSession defaultSession];
        if (session.reachable) { // <-- RETURNS FALSE
            NSDictionary *message = @{@"action":@"wakeup"};
            [session sendMessage:message replyHandler:nil errorHandler:nil];
        }
    }
    
    1 回复  |  直到 8 年前
        1
  •  1
  •   Dmitry    8 年前

    苹果建议使用以下代码:

    - (void)session:(WCSession *)session activationDidCompleteWithState:(WCSessionActivationState)activationState error:(NSError *)error {
        if ([WCSession isSupported]) {
            WCSession* session = [WCSession defaultSession];
            if (session.activationState == WCSessionActivationStateActivated) {
                NSDictionary *message = @{@"action":@"wakeup"};
                [session sendMessage:message replyHandler:nil errorHandler:nil];
            }
        }
    }