2014-10-22 7 views
11

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)

+1

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. –

+0

@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

+0

@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 –

risposta

8

App Store requisiti dei commenti esplicitamente vieta che nel 2,7 applicazioni che scaricano il codice in qualsiasi modo o forma saranno respintehttps://developer.apple.com/app-store/review/guidelines/

+0

OK, grazie! Prima di contrassegnare questo come risposta corretta, lasciami provare a convalidare durante le prossime due settimane ... – Itachi

-1

Update3 basta usare lo stesso codice firma !!!

devo testare in ambiente ad hoc!

quando la mia libreria dinamica utilizzare il codice di firma con la stessa firma del codice, funziona, altrimenti, schiacciare !!

+0

come hai firmato il codice per la tua libreria dinamica? l'hai fatto tramite Xcode? Si prega di condividere alcuni dettagli, grazie! – Itachi

+0

@Itachi uguale al codice che firma un progetto per la distribuzione! pulisci il vecchio framework e creane uno nuovo usando lo stesso buddleID, file di provisioning del tuo progetto di hosting ~ – Sanzrew

Problemi correlati