Clarify 4.7 HTML5 Games, Bots, etc. "embedded in the binary "

Hi All,

Clause 4.7 states rules related to HTML5 games:


4.7 HTML5 Games, Bots, etc.

Apps may contain or run code that is not embedded in the binary (e.g. HTML5-based games, bots, etc.), as long as code distribution isn’t the main purpose of the app, the code is not offered in a store or store-like interface, and provided that the software (1) is free or purchased using in-app purchase; (2) only uses capabilities available in a standard WebKit view (e.g. it must open and run natively in Safari without modifications or additional software); your app must use WebKit and JavaScript Core to run third-party software and should not attempt to extend or expose native platform APIs to third-party software; (3) is offered by developers that have joined the Apple Developer Program and signed the Apple Developer Program License Agreement; (4) does not provide access to real money gaming, lotteries, or charitable donations; (5) adheres to the terms of these App Review Guidelines (e.g. does not include objectionable content); and (6) does not support digital commerce. Upon request, you must provide an index of software and metadata available in your app. It must include Apple DeveloperProgram Team IDs for the providers of the software along with a URL which App Review can use to confirm that the software complies with the requirements above."


Does the clause also apply to source code files - e.g. JavaScript or HTML5 - included in the IPA?


Thanks!

Accepted Reply

This thread has been deleted

Let's parse.....in a contract the assumption is that all words have to be ascribed some meaning, otherwise they would not have be added. 4.7 starts out with "Apps may contain or run code that is not embedded in the binary". You are wondering if adding code to the .ipa file means the code is 'embedded in the binary' and therefore not 'not embeded in the binary". But then what does "contain" mean? I believe it has a direct object "code" and therefore the sentence includes the following statement: "apps may contain code that is not embedded in the binary". What can that be? I think it means your HTML5 code in the .ipa. If the app "contains" your code then provision (4) applies.


Now look at intent and ignore any attempt to exactly parse Apple's words. Clearly Apple is disallowing gambling apps if they are implemented using HTML5 code under certain conditions - we are discussing those conditions. Why is Apple doing this? I think it is because of the possibility that the code could be changed after the app is reviewed by App Review. That is certainly possible if the app manages to run code from your server (i.e. - 'not embedded in the binary'). It is less possible if your HTML5 code is in the .ipa but it involves a certain amount of 'trust us - we won't do that'. Perhaps you could follow this thread - state to App Review something like:

'This app contains, in the .ipa file, certain HTML5 code that is fixed and whose function cannot and will not be altered. Therefore we believe the concerns underlying 4.7 do not apply.'

Being upfront may be a solution - or it may invite the problem.


Good luck! But as others have noted, you have to deal with all the issues in 5.3

Replies

>Does the clause also apply to source code files


If that file is a zipped JS snippet, as an example, it might depend on what it does and why it's there, etc. Pls. clarify your question, perhaps with an example, also discussing what your app does, thanks.

Hello Every one,


Finally I have got rejection regarding to 4.7 section.

The reviewer commentted with this following reason:


Guideline 4.7 - Design - HTML5 Games, Bots, etc.



We noticed that offering HTML5 games appears to be the primary purpose of your app, which is not appropriate for the App Store.


Next Steps


We encourage you to review your app concept and incorporate different content and features that are in compliance with the App Store Review Guidelines.


Note: Creating an interface for displaying or distributing third-party apps, extensions, or plug-ins similar to the App Store does not follow Guideline 3.2.2(i) and is not appropriate for the App Store.


Anyone have same issue? And please give me advise for this on how to resolve.

Thank you so much.

What about opening HTML5 games in safari and not in wkwebview? Assuming that the app is native and HTML5 games are only a part of the app and not the primary purpose of the app. Any ideas if that solution will be compliant?

NOTE: This post is NOT showing up under the Forum and is accessible only through a link from an email.





> What about opening HTML5 games in safari and not in wkwebview?


4.7 states (below) that you CAN use HTML5 code not embedded in the binary as long as ....

Which "as long as" are you violating such that you are trying to circumevent it through a Safari window?


--------------------

4.7 HTML5 Games, Bots, etc.

Apps may contain or run code that is not embedded in the binary (e.g. HTML5-based games, bots, etc.), as long as code distribution isn’t the main purpose of the app, the code is not offered in a store or store-like interface, and provided that the software (1) is free or purchased using in-app purchase; (2) only uses capabilities available in a standard WebKit view (e.g. it must open and run natively in Safari without modifications or additional software); your app must use WebKit and JavaScript Core to run third-party software and should not attempt to extend or expose native platform APIs to third-party software; (3) is offered by developers that have joined the Apple Developer Program and signed the Apple Developer Program License Agreement; (4) does not provide access to real money gaming, lotteries, or charitable donations; (5) adheres to the terms of these App Review Guidelines (e.g. does not include objectionable content); and (6) does not support digital commerce. Upon request, you must provide an index of software and metadata available in your app. It must include Apple DeveloperProgram Team IDs for the providers of the software along with a URL which App Review can use to confirm that the software complies with the requirements above."