WatchConnectivity с swift (4.0 и более поздняя версия), проблемы с TransferUserInfo - PullRequest
0 голосов
/ 23 апреля 2019

Это мой первый опыт программирования на Swift, и мне нужно отправить данные акселерометра и гироскопа из моего AppleWatch на мой iPhone. Я хочу, чтобы все мои данные были переданы, поэтому я использовал метод "TransferUserInfo", но, похоже, ничего не происходит. SessionData - это структура, в которой я храню все данные, при этом использование только с iPhone работает должным образом. Это метод, который я использовал на контроллере интерфейса AW, после установки активного WCSession и установки делегата на себя

if session.isReachable {
        let messageToSend = ["SessionData": self.sessionData]
        self.session.transferUserInfo(messageToSend)
 }

'' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' ''

// на ViewController я реализовал это

func session(_ session: WCSession, didReceiveUserInfo userInfo: [String : AnyObject]) {
    self.txtWatch.text?.removeAll()
    self.txtWatch.text?.append("Data received from WatchOS")
    let valueReceived = userInfo["SessionData"] as? SessionData
    var SessionDataFromWatch = SessionData(data: valueReceived!)

    DispatchQueue.main.async {
        SessionDataFromWatch.saveData(number: self.sessionCounter)
        self.sessionCounter+=1
    }

    self.txtWatch.text?.removeAll()
    self.txtWatch.text?.append("Data saved from WatchOS")
}

Может кто-нибудь сказать мне, в чем проблема?

...