Get the Lowest Prices anywhere on Macs, iPads and Apple Watches: Apple Price Guides updated December 13th
 

 

Executable code allowed in iOS 11 apps for educational purposes, developer reference tools

The new developer's guidelines promulgated by Apple for iOS 11 have made a big change, allowing developers to include executable code in apps used for educational purposes, or for developer's tools.




First spotted by John Voorhees on MacStories, the sea change in policy is a reversal to a long-standing prohibition against code in apps. The restriction has been used in the past to deny console and computer emulators, as well as compilers for other languages on Apple's iOS hardware.

The entirety of rule 2.5.2 now says that:

Apps should be self-contained in their bundles, and may not read or write data outside the designated container area, nor may they download, install, or execute code, including other apps. Apps designed to teach, develop, or test executable code may, in limited circumstances, download code provided that such code is not used for other purposes. Such apps must make the source code provided by the Application completely viewable and editable by the user.


As stated, the reversal still doesn't allow for compilers, nor use of the code in anything but developer's utilities and educational apps —but it is a notable change, potentially allowing for more apps like Apple's own Swift Playgrounds to appear.

Voorhees believes that the change brings the possibility of app development on the iPad and iPhone "one step closer to reality." While the change is a nod in the direction of allowing coding on the iPad, much more would have to change, besides just allowing code to be accessed on the device in a strict sandbox.

Apple announced iOS 11 during the WWDC keynote on June 5. The forthcoming release, expected in the fall includes a revamped Control Center with deep 3D Touch support, the ability to directly transfer money to friends with Apple Pay, a new voice for Siri, and multi-speaker support with AirPlay 2, amongst other features.