2015-01-06 1 views
5

Bedeutet "iOS 8 jetzt dynamische Frameworks", dass dies für App Store-Einreichungen zulässig ist?Sind iOS 8-Apps mit eingebetteten Dylibs im App Store zulässig?

Es scheint, dass Entwickler früher Dylibs für In-House-Apps verwenden konnten, aber sie in etwas verwendet, das an den App Store gesendet wurde, würden Sie abgelehnt. Ist das noch der Fall oder hat diese Änderung in iOS 8 dies in Ordnung gebracht?

Zum Beispiel, wenn ich eine Anwendung mit OpenCV geschrieben hätte, wäre es jetzt möglich, gegen eine OpenCV-dylib zu bauen und diese zu versenden (vorausgesetzt, ich habe OpenCV als dylib erstellt) anstatt statisch zu verlinken?

Ich bin interessiert, da wir ein bestehendes Qt-basiertes Framework haben, das selbst mehrere Shared Libraries enthält, die wir derzeit für Linux, OS X, Windows und Android erstellen. Für iOS scheint es, dass wir dies ändern müssen, um eine einzige App zu erstellen, in der alle unsere Komponenten und Qt statisch verlinkt sind. Wenn iOS-Apps und der App Store damit beginnen, (eingebettete) dynamische Bibliotheken zu unterstützen, könnten unsere iOS-Builds alle liefern die Komponenten als dynamische Bibliotheken wie auf allen anderen Plattformen.

Verwandte:

+0

Irgendwelche Updates zu diesem Thema? – Macke

Antwort

1

Es scheint, dass es immer noch die Grenze, die nur statisch gelinkte ios Anwendungen im App Store erlaubt sind. Sie können im App Store Richtlinien für Bewertungen lesen:

2,7 Apps, die Code in irgendeiner Weise oder Form herunterladen werden

2.8 Apps abgelehnt werden, die anderen ausführbaren Code installieren oder starten wird

abgelehnt

Das ist keine technische Einschränkung, sondern eine legale. Es ist aus Sicherheitsgründen gesperrt, da eine dynamische Bibliothek zur Laufzeit geladen und entladen werden kann. Sie können zusätzlichen ausführbaren Code herunterladen und laden (wie ein Plug-in). Daher kontrolliert Apple streng die dynamische Verknüpfung, die ein Sicherheitsproblem für scheinbar sichere Betriebssysteme wie ios darstellt.

Schließlich müssen Sie eine kommerzielle Lizenz haben, um Qt im App Store zu implementieren. Sie können die Indie Mobile-Lizenz kaufen und die von Drittanbieter-App-Stores erzeugten Probleme überspringen. Das bedeutet, dass Sie Ihre Anwendung über den gewünschten Drittanbieter-Anwendungsspeicher verteilen können.

+1

Da 'Dylibs' in> =' iOS 8' unterstützt werden, sind die Richtlinien jetzt etwas entspannt und werden sich wahrscheinlich in Zukunft ändern. Tatsächlich hängt die Akzeptanz jedoch vom Gutachter ab und davon, wie streng er/sie Richtlinien interpretiert. Daher halte ich es nicht für sinnvoll, im Moment und/oder in naher Zukunft dynamische Bibliotheken zu wählen. – BaCaRoZzo

Verwandte Themen