Werden die Prüfer des App Store Skripts zulassen, die als Text heruntergeladen werden, wenn sie über WebKit geparst werden?

Laut Apple erlaubt Hot-Code-Push in mobilen Apps , von Alice Yu im Oktober 2014, erlauben die App Store-Rezensenten, dass Code heruntergeladen und ausgeführt wird, solange er ist:

  1. Nicht ausführbarer Code, nur interpretiert.
  2. Heruntergeladen und ausgeführt von Apples Webkit.
  3. Eine kleine Änderung ändert also nichts am Zweck der App.

Diese Bedingungen wurden von Frameworks wie Meteor, Cordova/Phonegap und sogar Cocos2djs als Schlupfloch genutzt. Während Meteor & Cordova auf der iOS-Webansicht basieren, werden sie über das Webkit heruntergeladen und ausgeführt, aber Cocos2djs basiert auf Spidermonkey und hat die Fähigkeit, Spielinhalte und Skripte über den "Asset Manager" von Cocos2djs zu aktualisieren, dh nicht über das Webkit (Webansicht).

Was wäre also, wenn Code/Skripte in anderen Sprachen als Javascript wie Ruby, Python oder Lua als "String" in einer JSON-Datei gesendet würden, um INNERHALB des Webkits (Webview) geparst und dann zur Ausführung an den Interpreter übergeben zu werden? Würde Apple dies so zulassen, wie es ist,

  1. Nur interpretierter Code/Skripte.
  2. Heruntergeladen und URSPRÜNGLICH von Apples Webkit ausgeführt, bevor es zur weiteren Ausführung an einen Interpreter gesendet wird.
  3. Änderungen vornehmen, die den Zweck oder die Absicht der App nicht ändern.
Willkommen bei Ask Different. Ich habe das Follow-on-Frage entfernt. Fragen Sie bei Bedarf als zweite Frage, wie Sie den Entwicklersupport kontaktieren können.

Antworten (1)

Das Überprüfungsteam von Apple wird Ihre App ablehnen, wenn sie in der Lage zu sein scheint, ausführbaren Code herunterzuladen. Sie haben sich geirrt, Apps abzulehnen, die rechtmäßig so aussehen, als würden sie den Code nur „interpretieren“, da Apple viel mehr zu verlieren hat, wenn Dritte diesen Weg zum Ausführen von Code entdecken und den Code zwischen Ihrem Webserver und Ihrer App einfügen.

Die Einsätze sind zu hoch – Sie sollten also sehr vorsichtig sein, dass Sie das Risiko für Ihre App verstehen, wenn Sie diese Funktionalität integrieren.

Die Briefs-App, die, glaube ich, Ende 2009 beim App Store eingereicht wurde, war bis April in diesem „Was ist der Unterschied zwischen interpretiertem Code, herunterladbaren Spieldaten (denken Sie an neue Levels für ein Spiel), ausführbarem Code“-Überprüfungsstatus aufgehängt 2013

Offensichtlich gibt es weit mehr Apps im Store, die Interpreter verwenden, sodass Ihr Weg zur Genehmigung wahrscheinlich durch die Bemühungen und den Schmerz der Pioniere geebnet wird, die Apple an die Idee gewöhnt haben, dass sie sicherstellen können, dass interpretierter Code und Konfiguration sich nicht ändern in ausführbare Dateien.

Danke für die Info @bmike. Soweit ich weiß, lädt die Briefs-App binäre Daten herunter und keine interpretierten Daten wie .py, .rb oder .lua. Anstatt Daten einfach über ein Netzwerk direkt an die App zu senden, würden diese Dateien außerdem von Apples Webview (in Javascript) als json entpackt (geparst), bevor die Datei zur Interpretation durch die VM gesendet wird.
Vergaß zu erwähnen. Es ist so, als könnte jemand seine Cordova-App aktualisieren, indem er eine native API modifiziert, die über Javascript verfügbar ist.