Apple hat eindeutig die Möglichkeit, dynamisch geladene Bibliotheken (sogenannte Frameworks) für iOS zu erstellen, da diese mit XCode (wie UIKit) ausgeliefert werden. App-Entwickler können nur statische Bibliotheken erstellen oder Xcode bestenfalls dazu verleiten, zu glauben, dass ein Framework geladen wird, wenn tatsächlich eine statische Bibliothek geladen wird. Dies wird als Erstellen eines gefälschten Frameworks bezeichnet. aber keiner der dynamischen Ladevorteile.
Was ist Apples Argument dafür, dynamische Frameworks von App-Entwicklern fernzuhalten? Es scheint, als würde es die Verwendung externer Bibliotheken erheblich vereinfachen, da Entwickler sich nicht auf knifflige Linker-Flags oder Open-Source-Bibliotheksabhängigkeitsketten verlassen müssten.
Ich sehe einen häufigen Grund in der Sicherheit. Warum erlaubt Apple es dann unter OSX und nicht unter iOS? Ist Sicherheit dort nicht auch eine Voraussetzung?
BEARBEITEN: Dies ist ab iOS 8 nicht mehr relevant. Apple hat Unterstützung für dynamische Frameworks hinzugefügt.
quelle
Der Grund ist die Sicherheit, wie in dieser Frage zum Stapelüberlauf erwähnt :
quelle