create - ¿Cómo crear un marco paraguas en iOS SDK?
create a framework in swift (2)
Quiero crear un marco paraguas en iOS SDK. Mis requisitos son:
Tengo un marco llamado "Marco A", quiero crear otro marco llamado "Marco B". Quiero agregar "Marco A" en "Marco B" como sub-marco y los usuarios solo necesitan importar "Marco B" en su proyecto para usar tanto "Marco A" como "Marco B". En otras palabras, "Framework B" funcionará como un contenedor para "Framework A". Leí de Apple a través del siguiente enlace con respecto a las creaciones de framework:
pero no expone la forma de crear un marco paraguas.
Sugiera un método paso a paso para crear un marco general.
Para crear un marco de paraguas basado en Swift que contenga un sub-marco, puede seguir la guía paso a paso que se encuentra aquí: Marco de paraguas
Todos sabemos que Apple no recomienda crear marcos marco. Pero Apple también dice que es posible a través de Xcode. https://developer.apple.com/library/mac/documentation/MacOSX/Conceptual/BPFrameworks/Concepts/CreationGuidelines.html#//apple_ref/doc/uid/20002254-BAJHGGGA
Logré crear un marco general a través de este enfoque simple en Xcode 5.1. Solo tenemos que ocuparnos de una configuración especial para vincular el sub-marco al marco general. Aquí estaba mi enfoque: -
1) Instale el
Static iOS Framework
real en Xcode 5.1 desde el método descrito aquí: -
https://github.com/kstenerud/iOS-Universal-Framework
.
Ahora se puede crear el ''Marco iOS estático'' utilizando la nueva opción en Xcode.
2) Cree un
Static iOS Framework
y cambie la
Target-> Build Settings-> Architectures-> Architectures
a Arquitecturas estándar.
Esto creará el marco con todas las arquitecturas estándar.
3) Ajuste los archivos de encabezado público en
Target-> Build Phase-> Copy Headers
.
Podemos configurar la visibilidad del archivo de encabezado aquí.
4) Vincular Submarco a UmbrellaFramework en
Target->Build Phase -> Link Binary With Libraries
.
Es posible que también necesitemos vincular otro marco estándar según nuestro uso.
5) También es posible que necesitemos agregar recursos de paquete en
Target-> Build Phase-> Copy Bundle Resources
si lo necesitamos.
6) También es posible que necesitemos agregar
-ObjC
a
Target-> Build Settings->Linking-> Other Linker Flag
, ya que es posible que necesitemos cargar un gran submarco donde hay muchas categorías para cargar o también necesitamos cargar marcos adicionales.
7) Agregue el
Copy File
usando
Target-> Build Phases-> +-> New Copy File Build Phase
.
8) Cambie su Destino a
Frameworks
y agregue SubFramework.framework allí.
Esto copiará SubFramework a Umbrella Framework.
9) Para la demostración, agregué dos métodos de demostración en la clase UmbrellaFramework. Uno para demostrar la llamada al método del marco general y otro para llamar al método subFramework.
10) Seleccione
iOS Device
y Archive el proyecto UmbrellaFramework desde
Menu->Product->Archive
.
Esto creará nuestro marco general y eso es todo.
11) Ahora es el momento de crear un nuevo proyecto de demostración y vincularlo con UmbrellaFramework.
12) Simplemente importe el encabezado UmbrellaFramework y llame a los dos métodos. Mostrará los mensajes de saludo en la ventana de registro.