gpt4 book ai didi

ios - 在 viewDidLoad 中激活 WCSession - 这可能会引入哪些错误?

转载 作者:行者123 更新时间:2023-11-29 12:15:54 25 4
gpt4 key购买 nike

在 WWDC 的 Introducing Watch Connectivity session 中,建议您不要在 viewDidLoad 方法中激活 WCSession 实例,以防您的应用程序在后台加载。所以不建议以下内容:

override func viewDidLoad() {
super.viewDidLoad()
if(WCSession.isSupported()){
watchSession = WCSession.defaultSession()
watchSession!.delegate = self
watchSession!.activateSession()
}
}

有人可以详细说明这可能导致的问题吗?

问题是,如果您有后台代码,您的应用程序不会对来自 session 的消息使用react,或者应用程序可以从后台重新启动, session 可能在后台关闭,并且可以在不进一步调用 viewDidLoad 的情况下显示 View 吗?

最佳答案

老问题,但以防万一有人想知道原因:因为如果在 Watch 应用程序启动时您的应用程序未运行,您的应用程序将在 iOS 设备的后台启动。当在后台启动时,您的应用程序不会启动其 UI。因此,不会启动任何 viewDidLoads,并且您的 iOS 应用程序永远不会激活其 WCSession,这意味着除非 iOS 应用程序已经在运行,否则 Watch 应用程序将永远无法与您的 iOS 设备通信。

关于ios - 在 viewDidLoad 中激活 WCSession - 这可能会引入哪些错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32011994/

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