1

I have an cross-platform app that runs Lua scripts, and I am interested in publishing it on the iOS App Store. I know that Apple does not allow apps to download and run code from the internet on iOS, but what about a simple Lua configuration file, like this:

obj.title = "Hello world"
obj.author = "Somebody"
obj.version = "1.0.1"

Or if assignments count as code, what about a simple JSON-like table, like:

{
    title = "Hello world",
    author = "Somebody",
    version = "1.0.1"
}

Would either of these violate the guidelines?

1 Answer 1

2

This is fine. Apple doesn't approve of apps which download executable Objective-C. Other languages seem to be fine, including but not limited to JavaScript. A configuration file, regardless of the language, is perfectly within the guidelines.

The specific wording of the guideline indicates that content (used figuratively to mean data, executables, scripts, etc) that is provided by the app developer, modifying the functionality of the app further than is already built in to the app at review time, is prohibited. This is to prevent apps changing completely once they've been reviewed and accepted. Your app which runs Lua scripts presumably can run Lua built in, rather than executing the scripts externally and receiving the result. This means that all the functionality is within the app, thus acceptable.

6
  • Great! Do you know if this rule also applies to scripts read from iTunes file sharing? As in if the user downloads the config file on a computer, and uses iTunes to copy the file to the app?
    – Andrew Sun
    Sep 7, 2015 at 17:31
  • @Andrew iTunes File Sharing (or any other user-initiated method of adding data to an app) is exempt from the rule completely. Users can add anything they please to the app, providing they're doing it themselves.
    – grg
    Sep 7, 2015 at 17:37
  • Does that rule apply to only configuration files, or any files? Could I run scripts with side effects from iTunes file sharing?
    – Andrew Sun
    Sep 8, 2015 at 13:25
  • @Andrew The specific wording of the guideline indicates that content (used figuratively to mean data, executables, scripts, etc) that is provided by the app developer, modifying the functionality of the app further than is already built in to the app at review time, is prohibited. This is to prevent apps changing completely once they've been reviewed and accepted. Your app which runs Lua scripts presumably can run Lua built in, rather than executing the scripts externally and receiving the result. This means that all the functionality is within the app, thus acceptable.
    – grg
    Sep 8, 2015 at 15:46
  • So, as long as the script does not change my app functionality-wise, I'm free to execute any external scripts I want? My intention was to provide language translation bundles in the form of Lua scripts which could be downloaded from the internet - that is fine, right?
    – Andrew Sun
    Sep 8, 2015 at 19:17

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .