Hacker News new | past | comments | ask | show | jobs | submit login

My guess would be that it's policy-enforced and what Apple really has problems with is not browsers as a concept (dynamically loading and rendering data) but rather the execution engine that websites usually use (JavaScript) and seeing that as a too-large-to-review area where they want to avoid having vulnerabilities in applications published on App Store.

Or it's a anti-competitive move disguised as a "avoid vulnerabilities" but in reality they just really want to make sure iOS users keep using the one and only browser (Safari).




Apple uses no Turing complete policy. So you also can't bundle a python or ruby interpreter in iOS. Its still anti-competitive but in a different area which is language and api. They are basically trying to push devs to use their native OS apis. PWA are also screwed up in Safari for a reason.


This is not true. There is for example the Pythonista IDE for iOS, which ships a full Python interpreter. https://omz-software.com/pythonista/


Is there an example of a non development/learning tool?


If I remember correctly there’s an exception for learning and development tools.


That’s surely absurdly difficult to test, and provably impossible to prove the negative (i.e. my app is not Turing complete.) Is a calculator app not Turing complete? What about Google Sheets?


As long as it uses Apple's WebView, it's OK. This was the case for Firefox, they had to ditch Gecko in favor of using Apple's webview for iOS.


Kivy bundles Python in iOS apps, and the apps are accepted on the App Store. Do you have a link for this policy?


That likely falls under the “educational” exemption: https://developer.apple.com/app-store/review/guidelines/#sof...


That's unlikely, Kivy is also used for commercial apps. Bundling interpreters is allowed, but you must not use them to execute arbitrary code, unless you do it for educational purposes. Kivy doesn't load remote code, so it's not affected by this policy.


Then apps using it must ship all of their Python code in the app bundle to meet the App Store Review Guidelines.


> So you also can't bundle a python or ruby interpreter in iOS.

You can if it’s for educational purposes.


Pythonista is a full(-ish) offline Python IDE and has been on the App Store for years.


interesting. But I can’t help but think by that logic Facebook should be too large to review.


Facebook does have code that dynamically compiles arbitrary input to machine code.

That's the part Apple is not allowing in third party apps.


> Facebook does have code that dynamically compiles arbitrary input to machine code.

Not outside of JavaScriptCore they don’t.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: