繁体   English   中英

关闭/取消激活WCSession

[英]Close/Deactivate WCSession

我正在开发带有手表扩展(watchOS 2)的iPhone应用程序(iOS 9 beta),并将数据从手表传递到手机我正在使用WCSession。

我有2个不同的视图控制器使用WCSessions,所以对于每个控制器我实例化新的WCSession对象。 对于第一个视图控制器,它工作正常,但是当我想在第二个视图控制器中接收消息时,很少有初始消息仍然被发送到第一个控制器。

有没有什么办法可以在转到第二个控制器之前停用/禁用第一个视图控制器的会话? 或者我还有其他选择吗?

谢谢!

当您来回传递数据时,您正在发送词典。 如果指定好的键,则可以为每个ViewController获取适当的数据。

例:

ViewController1:

[session updateApplicationContext:@{@"viewController1": @"item1"} error:&error];

ViewController2:

[session updateApplicationContext:@{@"viewController2": @"item2"} error:&error];

当您收到数据时:

- (void) session:(nonnull WCSession *)session didReceiveApplicationContext:(nonnull NSDictionary<NSString *,id> *)applicationContext {

    if ([applicationContext objectForKey:@"viewController1"]) {
        //ViewController1 data
    } else if ([applicationContext objectForKey:@"viewController2"]) {
        //ViewController2 data
    }
}

请在此处查看答案,以了解有关在watchOS2中使用WatchConnectivity在iOS和WatchOS之间发送消息的更多信息

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM