Search code examples
pythoniossecuritycode-signingpythonista

How does Pythonista Work within App Store Restrictions?


I recently found out about an iOS IDE known as Pythonista, which claims to be a full Python 3.6 IDE and interpreter for the iOS platform, including several important libraries and bindings for native iOS APIs. My question is: how does it work? My understanding of the iOS security model is that all code must be signed and all (non-Apple) apps that dynamically generate or execute code are automatically banned from the App Store. This is the rule that prevents people from writing compilers, interpreters, shell terminals, emulators, virtual machines, etc. for iOS and offering them on the App Store. How does Pythonista get away with having a Python interpreter without running afoul of Apple? Is it running the code remotely on a server?


Solution

  • This article is about a year old now, but still relevant. Pythonista and Codea (for Lua dev on the iPad) are both very successful apps and I can attest to their high quality. Get them and see. The code runs natively on your iPad - not on their servers. There are active development communities for both of these apps. See the forums on the developer websites: Pythonista and Codea.