3 ms·
> which is how Apple ensures their App level advantage, and that you can't ship your own browser engine. To be clear, you can't ship your own JIT, including a
by dwaite 6y ago
> which is how Apple ensures their App level advantage, and that you can't ship your own browser engine.
To be clear, you can't ship your own JIT, including a Javascript runtime, because Apple does not give TestFlight or App Store distributed apps the ability to mark memory pages executable.
iOS supports two different app platforms, native apps via the App Store and HTML/Javascript/WebAssembly via Safari. One reason Safari exploits work is that the sandboxing and entitlements for Safari (and the WebKit/JavaScriptCore processes) are different from any other app.
- kbenson 6y agoA JavaScript runtime doesn't require a JIT to work, it just makes it a lot faster. That alone wouldn't keep alternative browsers from being in the store, there are plenty of reasons to want a different browser even if JavaScript runs slower on it. Last I heard you couldn't ship any interpreted language on iOS, and this was the big reason given why you can't have your own browser (and many other types of apps that could benefit from some scripting interface). But that's just one example anyway, and somewhat besides the point. I have no problem with Apple running their App Store and restricting what apps are allowed on it. I do have a problem with the App Store being the only trusted source for installing software and managing updates. It's one more link in the chain that makes any real competition on in the iPhone ecosystem beholden entirely to Apple's wishes.