← Back to context

Comment by ulrikrasmussen

11 hours ago

Plenty of useful apps != general purpose computing capabilities.

You are not allowed to run computations that have not been approved by Apple if you are using an iPhone. Yes, the hardware is powerful, but it is cryptographically locked down. It is physically local, but the control of the hardware is entirely non-local and 100% owned by Apple.

You can run arbitrary computations on iOS devices if they're written in JavaScript, WebAssembly, or Swift (via Playgrounds). All of these are Turing complete, and all three compile into machine code. What you don't have without an Apple developer account is direct machine code access.

Also note that apps like Pythonista allow you to write programs that call arbitrary Objective-C APIs without permission from Apple. This means that you have a Turing-complete language running unsigned code that can do anything a signed app can do. Your programs do, however, execute slowly.

unless you're using an API that requires an entitlement, you can still get an apple developer account and sign whatever code you want and run it on your devices.

  • So if they don't give you an apple dev account, or close yours, you can't.

    Case in point.

    • Did you just move the goalposts from “you can’t run arbitrary code today” to “hypothetically, in the future, Apple could prevent running arbitrary code”?

      6 replies →