6

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?

SquawkBirdies
  • 157
  • 2
  • 13

1 Answers1

1

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.

brianolive
  • 1,573
  • 2
  • 9
  • 19
  • Apple changed their "no dynamic code" rule? I never thought I'd see the day... I wonder if the no emulator/VM rule is still in place then. – SquawkBirdies Jul 02 '18 at 14:16
  • @SquawkBirdies Codea and Pythonista have been available for many years at this point. The 'no dynamic code' referred to downloaded code in order to protect against external attacks, but user entered code is allowed. It did make it tricky to get code on to the device, but this is much easier these days via iCloud and dropbox scripts. – Simon Hibbs Jul 24 '18 at 09:26