What does the watch have to do with the phone?
What does the watch have to do with the phone?
Could that render a single map frame? Probably. But if this was an animated map showing the car location with zoom/pan to follow along, I can definitely see it making sense to offload to the phone.
What surprises me is that they needed a private entitlement for this, since you should be able to render a view out to an image without any entitlements [1]. Maybe that solution doesn't work offscreen? Or if the map was animated, maybe this can't play smoothly enough?
[1] https://stackoverflow.com/questions/30696307/how-to-convert-...
> Can I use custom views in the Apple Watch? Can I customize the interface elements beyond their public API?
> No. You can’t use custom views. WatchKit only supports certain native interface elements. None of the interface elements can be subclassed or customized beyond their public API. The available interface elements are WKInterfaceLabel, WKInterfaceButton, WKInterfaceImage, WKInterfaceGroup, WKInterfaceSeparator, WKInterfaceTable, WKInterfaceSwitch, WKInterfaceMap, WKInterfaceSlider and WKInterfaceTimer.
In the original watchOS release, you can't even draw shapes, only display images. So to make a custom map you'd have to render the image yourself for display as a WKInterfaceImage.
With watchOS 2 you were able to draw to a WKInterfaceImage with Core Graphics [2], but Uber had written their app before this.
[1] https://www.raywenderlich.com/1950-watchkit-faq
[2] https://github.com/shu223/watchOS-2-Sampler#draw-paths-updat...
That said, this is certainly a "special relationship" with big partners like Uber to get their apps working at Apple Watch launch in 2015[1].
That the access "wasn't removed already if it was no longer required", well... I think we can all understand legacy code.
[1] "It is likely that the Cupertino tech giant had to give this access after it gave app developers a four-month window to develop apps for its Watch before the unveiling of the product."