0
votes

I have an Apple Watch app and works perfect on simulators (watch simulator and iPhone simulator). When I run the app on real devices, the WCSession watchAppInstalled property is false, but I have the application on a watch, so I can't start it from watch device.

2

2 Answers

4
votes

I fixed the issue by uninstalling and reinstalling the watch app. In Watch on the iPhone you select your application and switch the "Show app on Apple Watch" off then on again.

The solution was found here.

1
votes

Before calling isWatchAppInstalled you must first

  1. Assign a WCSessionDelegate to WCSession.default.delegate
  2. Call WCSession.default.activate()

Otherwise (on WatchOS 5 at least), isWatchAppInstalled will always return false.