I am having an issue where, when sending a message through WCConnection, the session.sendMessage
fails sometimes if called in the delegate method activationDidCompleteWith
. The issue is not repeatable every time (in fact, it works most of the time).
But forcing a session.sendMessage
by using a button in my UI (calling the identical loading code) has a successful session communication immediately, so I know the issue is not in the session itself or the master app.
Is it unsafe to assume the session is ready to accept communication in activationDidCompleteWith
? Is there a better place to be calling my initial communication?
In my experience watch OS is pretty finicky, especially when using older model watches. That being said I think the answer to the question: "Is it unsafe to assume the session is ready to accept communication in activationDidCompleteWith?" is yes, it is unsafe to assume that.
In my own app I have a very similar case to yours and I solved it by sending a message until a response is received.