title: Why can my Apple Watch OS app receive message from my iOS app only when it is active?
body: <p>I am trying to build a jogging app that communicates with the Apple Watch app. When I press the &quot;Start&quot; button, the iOS app should signal my Watch app to start keeping track of my workout. (e.g. Showing time elapsed, measure heart rate, and etc) To make that possible, the iOS and WatchOS app should communicate. The problem with my app is that my WatchOS app can only receive a signal from my iOS app when it is on. (e.g. Watch screen is on)</p>
  <p>This is a code from my iOS app:</p>
  <pre><code>@objc func startAction() {
                   
      if WCSession.isSupported() {
          print(&quot;WC session is supported...&quot;)
          let session = WCSession.default
          session.delegate = self
          session.activate()
  
          session.sendMessage([&quot;testWorkout&quot;:true], replyHandler: nil) { error in
              print(&quot;ERROR: \(error.localizedDescription)&quot;)
          }
      }    
  }
  </code></pre>
  <p>And this is code from the other end (From the watch's end):</p>
  <pre><code>func session(_ session: WCSession, didReceiveMessage message: [String : Any]) {
              
      WKInterfaceDevice.current().play(.start)
      
      print(&quot;message test workout&quot;)
  
  }
  </code></pre>
  <p>I get a play sound and the printout message: &quot;message test workout&quot; when Apple Watch is on, but
  when Apple Watch's screen is off, the WatchOS app receives no signal. What code can I write from iOS app's end (Or anything else I can do from WatchOS app's end) to wake up the WatchOS app?</p>