AppStore / iOS apps and interpreted code - where do they draw the line?

前端 未结 7 1624
清酒与你
清酒与你 2021-02-07 03:14

Apple\'s iOS developer guidelines state:

3.3.2 — An Application may not itself install or launch other executable code by any means, including without lim

7条回答
  •  深忆病人
    2021-02-07 03:37

    Update as of WWDC 2017

    Programming tools such as Codea mentioned below are now explicitly allowed to download code. The App Store Guidelines currently say (emphasis mine):

    2.5.2 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.

    There is also this tweet citing more details on the relaxed clauses.

    Original

    Does your interpreted download allow the user to write infinite loops or recursion?

    Apple allow Javascript because they provide the interpreter and can kill your code. I have a feeling I've read that it's a 10 second limit but I couldn't find it on the site with a few minutes searching. (Yes, my self-imposed timeout for writing an answer kicked in.)

    I think you're pretty safe if what you do is declarative and doesn't allow obvious looping in the interpreter.

    I would also avoid the use of the word "interpreter" in any descriptions visible to Apple including public discussion. Maybe "parser" would be safer.

    Codea have skated along the edge of these definitions with their Lua environment and cannot download code. They had to remove a feature for downloading new packages as ".codea" files.

提交回复
热议问题