Apple gave Uber access to a secret feature that can record iPhone screens (2017)
wccftech.com
wccftech.com
Apple iPhone Security Issues - https://news.ycombinator.com/item?id=15418558 - Oct 2017 (1 comment)
Apple gave Uber's app 'unprecedented' access to a secret backdoor - https://news.ycombinator.com/item?id=15417137 - Oct 2017 (3 comments)
Uber app can secretly record your iPhone screen thanks to special ‘entitlement’ - https://news.ycombinator.com/item?id=15414884 - Oct 2017 (39 comments)
Apple gave Uber app 'unprecedented' access to backdoor that can record screens - https://news.ycombinator.com/item?id=15413036 - Oct 2017 (4 comments)
Uber’s iOS App Had Secret Permissions That Allowed It to Copy Your Phone Screen - https://news.ycombinator.com/item?id=15411533 - Oct 2017 (21 comments)
“It was used for an old version of the Apple Watch app, specifically to run the heavy lifting of rendering maps on your phone & then send the rendering to the Watch app. This dependency was removed with previous improvements to Apple’s OS & our app. Therefore, we’re removing this API from our iOS codebase."
Also, how was this supposed to work if the user wanted to switch to another app while keeping the map open on their watch? Doesn't this mean the phone would have force-mirrored the waych the entire time? This feels like a pretty unpolished and impractical UX.
Finally, if the entire point of the permission was to draw on the screen, why would it require access to the buffer while in the background? Or was the permission simply not fine-grained enough?
None of that scales to the millions of developers they have on their platform, but for such a key application, for essentially marketing purposes for the Apple Watch product launch, sure.
Are we talking about the same company using Greyball to fool local authorities not just abroad, but also in the USA? Taking into account total lack of moral integrity in their top management, I would not believe in anything they promise.
This is exactly my point – there's very little trust needed because Apple can verify/audit one company far more than they can the millions of registered developers.
I'm not saying I agree with it, I'm saying I can understand why they did it, why it works, and that it's likely possible to do safely.
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."