The security reason is mainly BS to keep off competing browsers from the platform.
The security reason is mainly BS to keep off competing browsers from the platform.
They already have a clause for third party browsers in the submission/review guidelines so there is no need for the existence of a technical reason to enforce that.
I truly think the real reason is security. The problem with allowing rwx pages in an iOS process via WebKit is that they can be used by the native app to load rogue code in.
This is a really difficult problem to solve and I honestly think Apple chose the easy way out: disallow it all.
I do think a solution is coming though. Already in iOS6 a bunch of ViewControllers are running out of process. See the link below. I think this will lead to out of process, and fully JITted WebKit in a future release.
Many times people think Apple is making some weird technical decision on purpose to annoy developers it is really just a pragmatic decision to get a product out of the door on time. This happens all the time and everywhere. At Google, Mozilla, Apple, Blackberry and Canonical.
http://oleb.net/blog/2012/10/remote-view-controllers-in-ios-...
Actually, it's mainly BS to ensure control over code signing and distribution.
W|X pages would mean that you could download and run arbitrary native code, and Apple can't have that.
It does also provide some nominal security advantage, but I think that's a pretty ridiculous trade-off overall.