Bring NSTask/fork APIs to iOS

Originator:ewmailing
Number:rdar://8473558 Date Originated:2010-09-24
Status:open Resolved:
Product:iOS Product Version:
Classification:feature Reproducible:
 
This is a feature request to bring NSTask and fork related commands to iOS. This is similar to my request for dynamic library support. (Bug ID:  8473551) With the new license term changes to section 3.3.2, it appears that this is no longer forbidden by the terms of agreement.

This is NOT a request for background processes while the app is closed.

This feature is useful for GPL software. As you are well aware (e.g. gcc / Xcode), GPL software is viral and is difficult to use in commercial/closed source software. But forked as a seaparate process and communicating through a pipe is a perfectly valid and also perfectly unixy way of doing it.

So for example, I may want to write a chess app with an awesome native iOS GUI, but want to use GNU Chess as the logic and AI backend. NSTask would make this possible.

This shouldn't present any new security concerns. By the license terms, the executable will be part of the application bundle and not downloaded.


This is the new clause:

3.3.2 An Application may not download or install executable code. Interpreted code may only be used in an Application if all scripts, code and interpreters are packaged in the Application and not downloaded. The only exception to the foregoing is scripts and code downloaded and run by Apple's built-in WebKit framework.


This is the previous version:

3.3.2 An Application may not itself install or launch other executable code by any means,including without limitation through the use of a plug-in architecture, calling other frameworks, other APIs or otherwise. Unless otherwise approved by Apple in writing, no interpreted code may be downloaded or used in an Application except for code that is interpreted and run by Apple's Documented APIs and built-in interpreter(s). Notwithstanding the foregoing, with Appleā€™s prior written consent, an Application may use embedded interpreted code in a limited way if such use is solely for providing minor features or functionality that are consistent with the intended and advertised purpose of the Application.

Comments


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!