简体   繁体   English

如何修复 [WC] 由于缺少委托 Swift 而拒绝激活

[英]How to fix [WC] denying activation due to missing delegate Swift

Hi I have this function嗨,我有这个 function

extension UIViewController: WCSessionDelegate {
public func session(_ session: WCSession, activationDidCompleteWith activationState: WCSessionActivationState, error: Error?) {        
}
public func sessionDidBecomeInactive(_ session: WCSession) {

}
public func sessionDidDeactivate(_ session: WCSession) {
}


//MARK: -SYNC DATA TO APPLE WATCH

func syncToAppleWatch(){
    var session: WCSession?
    if WCSession.isSupported() {//4.1
      session?.delegate = self
      session = WCSession.default//4.2
      session?.activate()//4.4
    }

} }

I call "syncToAppleWatch" inside DidLoad.我在 DidLoad 中调用“syncToAppleWatch”。 But I receive this error但我收到此错误

 [WC] denying activation due to missing delegate
 [WC] WCSession has not been activated

How Can I fix it?我该如何解决?

These two lines make no sense这两行没有意义

session?.delegate = self  // session is still nil here, delegate won't be set
session = WCSession.default

change the order to将顺序更改为

session = WCSession.default
session?.delegate = self 

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

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