gpt4 book ai didi

ios - 关闭/停用 WCSession

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:14:27 24 4
gpt4 key购买 nike

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

我有 2 个使用 WCSession 的不同 View Controller ,因此对于每个 Controller ,我都实例化了新的 WCSession 对象。对于第一个 View Controller ,它工作正常,但是当我想在第二个 View Controller 中接收消息时,很少有初始消息仍被发送到第一个 Controller 。

有什么方法可以在转到第二个 Controller 之前停用/禁用第一个 View Controller 的 session ?或者还有其他我应该研究的选项吗?

谢谢!

最佳答案

当您来回传递数据时,您就是在发送字典。如果您指定好的键,您可以获得每个 ViewController 的适当数据。

例子:

View Controller 1:

[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
}
}

查看此处的答案以了解有关 WC 的更多信息 Send messages between iOS and WatchOS with WatchConnectivity in watchOS2

关于ios - 关闭/停用 WCSession,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31496584/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com