2014-12-15 12 views
19

Voglio creare un framework per ombretti in iOS SDK. I miei requisiti sono:Come creare un framework per ombretti in iOS SDK?

ho un quadro chiamato "Quadro A", voglio creare un altro quadro denominato "Quadro B". Voglio aggiungere "Framework A" al "Framework B" come sotto-framework e gli utenti devono solo importare "Framework B" nel loro progetto per utilizzare sia il "Framework A" che il "Framework B". In altre parole, "Framework B" funzionerà come wrapper per "Framework A". Ho letto da Apple tramite link seguente per quanto riguarda le creazioni quadro:

https://developer.apple.com/library/ios/documentation/MacOSX/Conceptual/BPFrameworks/Concepts/FrameworkAnatomy.html

ma non espone il modo per creare un quadro ombrello.

Si prega di suggerire metodo passo dopo passo per creare un quadro ombrello.

+0

Eventuali duplicati di [Come aggiungere un quadro all'interno un altro framework (Umbrella Framework)] (http://stackoverflow.com/questions/34681435/how-to-add-a-framework-inside-another-framework-umbrella-framework) – Segev

risposta

33

Sappiamo tutti che la creazione di framework per ombrelli è fortemente scoraggiata da Apple. Ma Apple dice anche che è possibile tramite Xcode. https://developer.apple.com/library/mac/documentation/MacOSX/Conceptual/BPFrameworks/Concepts/CreationGuidelines.html#//apple_ref/doc/uid/20002254-BAJHGGGA

ho raggiunto la creazione quadro ombrello tramite questi semplici approccio su Xcode 5.1. Dobbiamo solo occuparci di alcune configurazioni speciali per collegare il sub-framework al framework ombrello. Ecco il mio approccio: -

1) Installare reale Static iOS Framework su Xcode 5.1 dal metodo descritto qui: - https://github.com/kstenerud/iOS-Universal-Framework.

Ora il ‘Static iOS quadro’ può essere creato utilizzando la nuova opzione in Xcode.

enter image description here

2) Creare un Static iOS Framework e modificare le impostazioni Target-> Build Settings-> Architectures-> Architectures alle architetture standard. Questo creerà la struttura con tutte le architetture standard.

enter image description here

3) Regolare i file di intestazione pubblico in Target-> Build Phase-> Copy Headers. Qui possiamo impostare la visibilità del file di intestazione.

enter image description here

4) Collegamento SubFramework a UmbrellaFramework in Target->Build Phase -> Link Binary With Libraries. Potremmo anche aver bisogno di collegare altri framework standard a seconda del nostro utilizzo.

enter image description here enter image description here

5) Si può anche bisogno di aggiungere risorse Bundle in Target-> Build Phase-> Copy Bundle Resources se abbiamo bisogno.

enter image description here

6) Si può anche bisogno di aggiungere -ObjC-Target-> Build Settings->Linking-> Other Linker Flag, come possiamo aver bisogno di caricare una grande subFramework dove ci sono molte categorie per caricare o necessità di caricare quadri aggiuntivi anche.

enter image description here

7) Aggiungere Copy File utilizzando Target-> Build Phases-> +-> New Copy File Build Phase.

enter image description here

8) Cambia la sua destinazione a Frameworks e aggiungere SubFramework.framework lì. Questo copierà SubFramework in Umbrella Framework.

enter image description here enter image description here

9) Per la demo ho aggiunto due metodi demo in classe UmbrellaFramework. Uno per dimostrare la chiamata al metodo framework umbrella e una per chiamare il metodo subFramework.

enter image description here enter image description here

10) Selezionare iOS Device e archiviare il progetto UmbrellaFramework da Menu->Product->Archive. Questo creerà la nostra struttura a ombrello e basta.

enter image description here

11) Ora è il momento di creare un nuovo progetto demo, e collegarlo con UmbrellaFramework.

enter image description here

12) Basta importare intestazione UmbrellaFramework e chiamare i due metodi. Mostrerà i messaggi Hello nella finestra di log.

enter image description here

+0

Ogni possibilità di aggiornamento per XCode 6 ? – AlBirdie

+0

Sfortunatamente, non ho avuto successo con Xcode 6 fino alla data. "iOS Universal Framework" https://github.com/kstenerud/iOS-Universal-Framework dovrebbe anche aggiungere il supporto per Xcode 6. –

+0

L'ho provato, ma non ho avuto nemmeno fortuna. E 'davvero un peccato per Dio che Apple documenti l'uso di quadri a ombrello, ma non riesca a fornire alcun tipo di guida su come crearli. – AlBirdie

1

Per creare una Swift basato quadro ombrello che contiene una sottostruttura è possibile seguire il passo-passo guida scritta qui: Umbrella framework

Problemi correlati