Marco de paraguas

He creado un marco en el que se inserta el segundo marco, el llamado "marco paraguas". Cuando inserto el marco en la aplicación de testing (binarys embeddeds y frameworks y bibliotecas enlazados, ambos) no puedo comstackr aplicación, obtengo el siguiente error:

ld: framework not found 'embeddedInMyFramework' for architecture arm64 clang: error: linker command failed with exit code 1 (use -v to see invocation)

Que agregue ese marco (embeddedInMyFramework) también en binarys embeddeds y frameworks y bibliotecas enlazados e intente build que funciona bien. Más tarde eliminar ese marco de ambos, binarys embeddeds y frameworks y bibliotecas vinculadas y aún así funciona bien. ¿Alguien puede ayudarme con esto, no estoy seguro de qué sucede cuando agrego framework a binarys embeddeds por primera vez, y cómo solucionar eso (podría funcionar de alguna manera sin agregar binarys embeddeds en absoluto)

Pude establecer un Umbrella Framework funcional y escribí mi enfoque.

El paso 5 debería eliminar el error del linker ld: framework not found ..

Preparar:

  • Un proyecto "cliente" basado en Swift que tiene Umbrella Framework como dependencia

  • Un Framework dynamic (principalmente C ++ y ObjC) que es una dependencia del Umbrella Framework

Pasos:

  1. Vincule el Umbrella Framework con su marco (sub) dependiente y asegúrese de que se copy en el producto al buildlo.

Configuración del proyecto -> Fases de compilación

2. Agregue la location del marco (sub) dependiente a las Framework Search Paths de Framework Search Paths del marco del proyecto Umbrella Framework.

Configuración del proyecto -> Configuración de compilación

3. En el proyecto "cliente", asegúrese de vincular e incrustar el Umbrella Framework

Cliente de configuración general

4. Asegúrese de que Umbrella Framework se copy en el package de aplicaciones (cliente) para evitar que dyld: Library not loaded: @rpath/... errors. La aplicación (cliente), generalmente bajo ...Build/Products/Debug-iphoneos/YOUR_CLIENT_APP.app ahora debería contener su Umbrella Framework en una carpeta llamada Frameworks .

Project Setting Embed Framework

1. En el proyecto "cliente" Asegúrese de agregar la ruta al Marco Umbrella a las Framework Search Paths .
Si el ld: framework not found '[Framework_Name]' for architecture ... error persiste, también puede agregar la ruta al marco (sub)) aquí.

Proyecto de configuración de la ruta de búsqueda del marco

Agregar bibliotecas incrustadas también establece ciertas configuraciones de compilation, que no se eliminan al eliminar la biblioteca de las bibliotecas incrustadas.

Lo más probable es que las Framework Search Paths contengan la ruta a la biblioteca que faltaba anteriormente.

No funcionará sin agregar la biblioteca incrustada de alguna manera. Es posible que desee usar alguna herramienta de administración de dependencies (como CocoaPods o Carthage) para hacer más o less el trabajo por usted.