WatchOS 2 networking headaches

With WatchOS1 I had to develop a watchkit extension that basically replicated all the networking connectivity (NSStream, Bonjour, ect) options in my iOS app, this was a pretty big undertaking but we did it.. In WatchOS2, I now have to scrap all that and switch to WatchConnectivity so I can use the networking from my iOS app. If this were the model in the beginning, it would have been significatly easier to have developed our first Watch app. So now there is a significant amount of work to rewrite everything to work with WatchConnectivity, which would have been a much better model to use from day 1. However, we are hesitant to do that because we feel like next year Apple is going to implement native networking in WatchOS 3 and then we’ll have to basically rewrite everything again. It would have made so much more sense for Apple to include networking with WatchOS 2, which would have allowed our app to be used untethered. Not sure what to do now.

I've thought about the same basic thing a lot.


Having spent huge amounts of time all Summer trying to get WatchConnectivity working well after spending the first few weeks falsely thinking networking worked great in watchOS 2 because it works great in the Simulator, fast forward to GM working *well enough* to ship, but certainly I'm assuming Apple has some rounds of maintenance releases (or more) before it becomes really reliable. Periodically, the iOS device will just become unreachable, things just go wrong.


I will say it works now so much better than it did over the Summer when it genuinely seemed like it would not ship, it's night and day. But it's still a couple big leaps from super reliable.


So I look at WatchConnectivity and say this is basically a "hey networking is really sketchy so we're going to require a minimum power, minimum bandwidth, cut out all the nonsense solution because full networking will work poorly."


My assumption is that full networking actually would work great, but someone doesn't want to let Wi-Fi stay on because it would have a big battery life impact – even though for my purposes that's irrelevant.


So if one can't seriously turn on Wi-Fi, then Bluetooth is the only game in town. If Bluetooth/WCSession is all you've got, you're not going to be networking anyway.


So, TLDR, you're not getting full networking in watchOS 3.0 in my opinion. You may, actually, but if so, it will require a new Watch. I don't think these are software issues. What is a software issue is making WatchConnectivity more reliable. It's not there yet, but it should be achievable with the current hardware.

WatchOS 2 networking headaches
 
 
Q