WatchKit data not showing

I transfer data from iOS to WatchKit. I can’t get the data to show what was received on the WatchKit side in some way.

This works great: iOS TableViewController

 func getCloudKit() { ///... let publicData = container.publicCloudDatabase publicData.performQuery(query, inZoneWithID: nil) { results, error in if error == nil { // There is no error for play in results! { let newPlay = Play() newPlay.tColor = play["TColor"] as! String do { try WatchSessionManager.sharedManager.updateApplicationContext(["color" : newPlay.tColor]) NSLog("NewPColor: %@", newPlay.tColor) } catch { print(error) } self.objects.append(newPlay) } } else { print(error) } } } 

This is not a call to any of the NSLog or displaying any data: WatchKit InterfaceController

 import WatchConnectivity class InterfaceController: WKInterfaceController, WCSessionDelegate { @IBOutlet var colorLabel: WKInterfaceLabel! private let session: WCSession? = WCSession.isSupported() ? WCSession.defaultSession() : nil private func configureWCSession() { session?.delegate = self; session?.activateSession() } override init() { super.init() configureWCSession() } override func awakeWithContext(context: AnyObject?) { super.awakeWithContext(context) } func session(session: WCSession, didReceiveApplicationContext applicationContext: [String : AnyObject]) { let colorWatch = applicationContext["color"] as? String NSLog("Check if anything here: %@", colorWatch!) dispatch_async(dispatch_get_main_queue()) { if let colorWatch = colorWatch { self.colorLabel.setText("From iPhone: \(colorWatch)") NSLog("Heres all the strings %@", colorWatch) } else { NSLog("Nothing") } } } } 

Any ideas? Thanks!

+5
source share
1 answer

Try checking if the session is null with something like (my fast foo is weak):

  private func configureWCSession() { print("session: \(session?)) session?.delegate = self; session?.activateSession() } 
+2
source

Source: https://habr.com/ru/post/1232368/


All Articles