Lo que están Incrustados los Binarios en Xcode?

Estoy usando Alamofire en un Swift proyecto, y parte de su manual de instrucciones de instalación para agregar Alamofire bajo Incrustado Binarios en la ficha General para mi aplicación de destino.

Lo que están Incrustados los Binarios en Xcode?

¿Cuáles son Incrustado Binarios?

4 Kommentare

  1. 41

    Incrustado binarios son archivos binarios que se copian en el paquete de la aplicación al generar el proyecto. Uso incrustado binarios cuando su aplicación se basa en los marcos de terceros por lo que la gente puede utilizar la aplicación sin necesidad de esos marcos instalado en su máquina. Incrustado binarios de mantener a los usuarios de tener que instalar manualmente marcos de terceros. La aplicación utiliza el marco de trabajo incorporado.

    En su Alamofire ejemplo de su aplicación se basa en Alamofire. Si usted no incrustar el Alamofire marco, nadie sería capaz de usar su aplicación, a menos que se instala Alamofire manualmente. Mediante la incorporación de Alamofire con su aplicación, todo el mundo puede ejecutar la aplicación.

    • La manera en que yo recuerde hacer esto en el pasado en OS X recientemente con la otra parte 3ª marco en iOS es construir el marco y, a continuación, crear un archivo de copia Fase de construcción para copiar el marco de los «Marcos» de destino. Es esta supuesta a ser un reemplazo para que? Parece más fácil que la forma en que solía hacerlo.
    • Sí, se supone que para ser un reemplazo para la Copia de los Archivos de la fase de construcción para la copia de archivos binarios, tales como marcos, bibliotecas y herramientas de línea de comandos.
    • Has visto alguna documentación sobre este Xcode característica? No he encontrado ninguna.
    • Yo no he visto ninguna documentación sobre ella, pero no he estudiado duro para la documentación de la misma.
    • Lo que si me conecto a un subproyecto (que es un Toque de Cacao Marco, por lo que es una biblioteca dinámica+algunos activos)? ¿Tengo que utilizar Embedded Binarios de la función? He intentado iniciar mi aplicación sin ella y funciona igual de bien en un simulador, pero no estoy seguro si es porque de un simulador o porque XCode se incorpora en algunos otros, de modo oculto, porque es un subproyecto.
    • Nunca he usado los subproyectos. Hacer una nueva pregunta, y alguien más podría tener una respuesta para usted.
    • He encontrado uno más curioso en XCode 8. «General -> Incrustado binarios» y «Fases de construcción -> Embed Marcos» parecen estar vinculados, porque si arrastra una .marco en uno de estos lugares, aparece automáticamente en el otro lugar; y en «Insertar Marcos» es habilitar de forma automática el «Código de signo en la copia» (la firma es importante para la construcción de su aplicación los archivos para su distribución).
    • De alguna manera, yo había terminado con mi propia aplicación de marcos en el ‘Vinculado Marcos sección’ pero no ‘Incrustado Binarios» (que yo no sabía nada acerca de). Supongo que la auto-adición de comportamiento JustAMartin describe no pasaría a mí. Pasé horas viendo mi Xcode de interfaz de usuario pruebas fallan para iniciar con el error «dyld: la Biblioteca no se cargan: @rpath/MyFramework.marco … la Razón: la imagen no encontrada». La solución fue añadir los marcos Incrustados Binarios así!
    • De la otra manera no parece funcionar: Si se agrega «Embedded Binarios,» Xcode añadiremos a «Vinculado Marcos y Binarios.» Usted puede tener sólo en «Incrustado» y no «Ligadas», aunque (si usted lo quita de Linked). No sé por qué funciona. Y «Incrustado Binarios» es todavía indocumentados en el Xcode ayuda.

  2. 40
    • «Binario» significa: código compilado — como opuesto a «código fuente», que es lo que estamos trabajando en el momento de escribir el código como texto.

      Que podría han dado el código fuente y dejar que compilarlo, pero no; son mantener el código fuente secreto, por lo que han dado todo a ti después de la compilación, por lo que no se puede leer.

    • «Incrustado» significa: ser incluida dentro de su paquete de la aplicación, mediante la copia de ellas al momento de la construcción.

      Así, que están dando algunas código compilado (marcos) y decirle a usted cómo incluir dentro de su paquete de la aplicación. Estos marcos de referencia, a diferencia del Cacao marcos, ya no existen en el dispositivo, así que si usted no los incluyen dentro de la aplicación, no van a estar presentes y su aplicación sería incapaz de llamar a ellos.

      El contraste de Cacao de marcos. Ellos, también, son de código compilado. Pero hacer ya existe en el dispositivo. Por lo tanto, no se incrustan en el interior de su aplicación; ellos son simplemente vinculado (y, si aparecen, que aparecen en el siguiente grupo, Vinculado Marcos y Bibliotecas).

    • El hecho de que están llamados Incrustado «Binarios», en oposición a Incrustados «Marcos» me hace pensar que estamos destinados a ser más general que sólo para los marcos. ¿Sabe usted si se utilizan para otra cosa además de marcos? También, ¿tiene todos los puntos a la documentación de este? No he sido capaz de encontrar ninguna.
    • En el caso más general, también puede incrustar un archivo de biblioteca.
  3. 2

    La incrustación de archivos binarios de copias de la totalidad de marco a la meta.

    Un framework es un directorio jerárquico que encapsula una dinámica
    biblioteca, archivos de encabezado y de los recursos, tales como guiones gráficos, imagen
    archivos y cadenas localizadas, en un solo paquete. Las aplicaciones que utilizan
    marcos necesidad de embed the framework en la aplicación del paquete.

    Así que, cuando se incorpora un marco en su aplicación, se aumenta el tamaño de su aplicación, porque es copiado para la aplicación del paquete. En la mayoría de los escenarios que van a utilizar este secciones cuando estamos usando de terceros marco.

    Cuando se añade un framework a Embedded Binaries automáticamente agrega que marco a Linked Frameworks and Libraries también.

    Consulte la documentación de apple para obtener más detalles: https://developer.apple.com/library/archive/technotes/tn2435/_index.html

  4. 0

    Xcode 11 contiene sólo Frameworks, Libraries, and Embedded Content sección

    Embedding en realidad añade una copia de un marco en su paquete de la aplicación en el marco de directorio por defecto. Su aplicación no será capaz de hacer cualquier cosa con ese Marco, a menos que se vincula a ella. Xcode tiene la libertad de hacer esto para usted. [Link vs Embed]

    De la fuente aquí

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea