小编iAn*_*kit的帖子

Watchkit - didReceiveApplicationContext 仅适用于第一次

当我运行在Xcode iOS和watchOS模拟器的手表连接的应用程序,WCSession委托方法didReceiveApplicationContext仅适用于第一次,但随后它不叫,并在接口控制器没什么变化。谁能解释一下为什么会发生这种情况?

下面是 UIViewController 的 WCSessionVC 类

import Foundation
import UIKit
import WatchConnectivity

class WCSessionVC: UIViewController, WCSessionDelegate {

    let session = WCSession.default

    override func viewDidLoad() {
        super.viewDidLoad()

        session.delegate = self
        session.activate()
    }

    func updateApplicationContext(applicationContext: [String : Any]) throws {
        if WCSession.default.isPaired {
            do {
                try WCSession.default.updateApplicationContext(applicationContext)
            } catch let error {
                throw error
            }
        }
    }

    func session(_ session: WCSession, activationDidCompleteWith activationState: WCSessionActivationState, error: Error?) {
        print("Session activated")
        let message = ["quote": "Hello"]
        do {
            try self.updateApplicationContext(applicationContext: message …
Run Code Online (Sandbox Code Playgroud)

ios watchconnectivity wcsession swift3

0
推荐指数
1
解决办法
686
查看次数

标签 统计

ios ×1

swift3 ×1

watchconnectivity ×1

wcsession ×1