Ho letto molti articoli sull'utilizzo di librerie dinamiche inclusa questa pagina "Can you build dynamic library...".I revisori Appstore ci consentono di utilizzare la libreria dinamica in iOS8?
Come documento Apple ha detto, "quadri per gli sviluppatori iOS. IOS possono ora creare quadri dinamici. Frameworks sono una raccolta di codice e risorse per incapsulare la funzionalità che è utile su più progetti. Frameworks funzionano perfettamente con le estensioni, la logica di condivisione che può essere utilizzato sia dall'applicazione principale che dalle estensioni in bundle ", vedere la pagina intera da here.
Prendendo il problema di sicurezza come corrispettivo, ho avuto lo scarto motivo di libreria dinamica prima di iOS 8, vedere i dettagli di "DarkDust's answer". Ma come funziona "funziona" in iOS8? @appstore_reviewers?
In ogni caso, al momento sto scrivendo un demo applicazione di esempio e provare a caricarlo su Appstore per la revisione, la caratteristica principale è il download di un quadro da internet per client e dlopen esso. Spero davvero che "funzioni"!
Inoltre, l'obiettivo di distribuzione è iOS7.0, non è sicuro che possa funzionare correttamente. Non ho avuto una comprensione così chiara delle differenze tra "dynamic library" e "framework", penso che siano uguali e in questo thread intendo "Cocoa-touch framework" che potrebbe creare in Xcode 6.
Alcuni retroscena: sto cercando di costruire un app iOS che does't contenere funzione di estensione, il mio framework Cocoa-touch è facile per espandere senza caricare una nuova versione in quanto proviene da internet ....
AGGIORNAMENTO Ho pubblicato un progetto dimostrativo GMDemo here, proverò a caricare su Appstore.
UPDATE2 sono riuscito a dlopen il mio quadro dinamico con codice non valido firma di errore dopo molti tentativi di dispositivo iOS. Siamo spiacenti, nessuna buona notizia qui. (Quasi dimenticato di aggiornare a questa domanda, mi spiace! BTW)
Prima di tutto, un framework è solo un contenitore per una libreria. Può contenere una libreria statica o una libreria dinamica. Non sarai in grado di collegare una libreria dinamica su iOS 7. Inoltre (non ho nulla per supportarlo) non mi aspetto che tu possa caricare una libreria dinamica scaricata dalla rete. Questa sarebbe un'enorme violazione della sicurezza. Immagino che Apple consenta solo il caricamento di librerie dinamiche firmate, ovvero quelle che sono in bundle con l'app e passino attraverso il processo di revisione delle app. –
@BartekChlebek: Questo è il punto della domanda: sostituire la speculazione con i fatti :-) Si riduce a due domande: 1) iOS consente di caricare una libreria al di fuori del pacchetto di app (qui: una libreria scaricata)? È facile da testare, in realtà; qualcuno deve solo implementarlo. 2) Anche se iOS ti consente di farlo, le regole dell'App Store ti consentono di farlo? In altre parole, sei respinto se il revisore nota che lo fai? – DarkDust
@DarkDust 1) iOS non eseguirà codice non firmato. Quindi non sarai in grado di iniettare una libreria senza passare attraverso l'App Review. 2) iOS non ti consente di farlo, ma in caso affermativo, le Linee guida per la recensione di App Store 2.7 affermano che "Le app che scaricano il codice in qualsiasi modo o modulo verranno rifiutate" https://developer.apple.com/app-store/ recensione/linee guida/# condizioni-termini –