Sto utilizzando il metodo sendMessage
per inviare un messaggio dall'estensione WatchKit a un'app per iOS. Ci vuole circa 230 ms in media per ricevere una risposta. Il tempo non dipende dal fatto che l'app iOS sia sullo schermo o in esecuzione in background. 230 ms è approssimativamente il tempo impiegato dalla luce per percorrere la circonferenza della Terra e tornare indietro. Ma il telefono è seduto a 30 cm dal mio orologio quando sto testando questo.Perché inviare un messaggio dall'estensione WatchKit a iOS e ottenere una risposta è così lento?
Domande:
- Perché è così lento?
- Si suppone che sia così lento?
- C'è un modo per renderlo più veloce?
Un'osservazione: secondo i miei precedenti esperimenti in watchOS 1 la comunicazione era un po 'più veloce, un giro di andata usato per circa 50 ms.
Inviare un messaggio da un'estensione WatchKit
let session = WCSession.defaultSession()
session.sendMessage(["message from watch":""], replyHandler: { reply in
// Getting reply from iOS app here
}, errorHandler: nil)
ricevere il messaggio da iOS
func session(session: WCSession, didReceiveMessage message: [String : AnyObject], replyHandler: ([String : AnyObject]) -> Void) {
replyHandler(["reply from iOS":""])
}
Demo app: https://github.com/evgenyneu/WatchKitParentAppBenchmark
iOS 9.0, watchos: 2.0