color ios xcode itunesconnect

ios - toolbar ionic color



Error de validación: paquete no válido. El paquete en... contiene el archivo no permitido ''Frameworks'' (17)

Estoy tratando de enviar una aplicación con el Xcode6 GM, y recibo este error en la validación. La aplicación tiene una extensión de acción y un marco dinámico que se comparte entre la extensión y la aplicación misma.

No tengo un archivo llamado ''Frameworks'' en ninguna parte del proyecto, por lo que realmente no estoy seguro de lo que se supone que significa. ¿Alguien ha tenido este problema o tiene alguna idea?


  1. Aplicación de contenedor: Configuración de compilación -> El contenido incrustado contiene un código rápido:
  2. Extensión: Configuración de compilación -> El contenido incrustado contiene un código rápido: NO
  3. Extensión: Fase de compilación -> agregó el siguiente script de ejecución en

cd "$ {CONFIGURATION_BUILD_DIR} / $ {UNLOCALIZED_RESOURCES_FOLDER_PATH} /" if [[-d "Frameworks"]]; entonces rm -fr Frameworks fi

  1. (importante) Extensión: Fase de construcción -> mover el script de ejecución al último (después del script de incrustar marcos de pods)

Elimine cada fase de compilación de su extensión que tenga palabra embed en su título.

Adicionalmente:

  • El contenido incrustado contiene código Swift debe establecerse en Yes para el objetivo de extensión.

En mi caso, acabo de actualizar a CocoaPods 1.0.1 y esto parece ser un nuevo error.

La actualización de Pod agrega un script de ejecución al objetivo de mi Extensión que crea la carpeta Frameworks. Lo encontré cuando estaba a punto de agregar el script de ejecución de @ Roman para eliminarlo.

La solución fue eliminar este script de la fase de compilación de mi extensión. Aquí está el que tenía que ir ...


En mi caso, había una biblioteca CocoaPod "Blockly" que especificaba Sí para "Bibliotecas estándar Swift siempre integradas". Después de hacer NO para la opción, funcionó.


En mi caso, la solución fue eliminar mi marco de trabajo de los binarios integrados de mi extensión y agregarlo a las bibliotecas y los marcos vinculados de mi extensión. (Ambos se pueden encontrar en la pestaña General de la extensión).


Encontré muchas preguntas como esta y ninguna me ayudó a solucionar mi problema, así que espero que esto pueda ayudar a alguien.

Estoy creando una aplicación que tiene una extensión Intent (para los accesos directos de Siri) y estoy usando un marco para el código compartido entre la extensión y mi aplicación, según lo recomendado por Apple.

Había agregado mi marco a mi extensión en la sección "Marcos y bibliotecas" de la configuración "General" para el destino. Cuando agrega un marco aquí, hay dos columnas. Uno dice el nombre del marco y el otro se titula "Incrustar". No aparecía nada en la columna "Insertar", así que pensé que estaba bien, pero tuve que elegir explícitamente una opción "No insertar" para esa columna para mi marco. Cuando hice eso y lo archivé en Xcode, pude ver durante la validación que el marco ya no figuraba en mi contenido de ipa debajo de cada objetivo, sino solo una vez, y la validación tuvo éxito finalmente.


Entonces, 3 pasos para arreglar esto desde la configuración de compilación

  1. Aplicación de contenedor: el Embedded Content Contains Swift Code: YES
  2. Extensión: Embedded Content Contains Swift Code: NO
  3. Extensión: Ruta de búsqueda de @executable_path/../../Frameworks = @executable_path/../../Frameworks

Estaba recibiendo el mismo error, y es porque estaba copiando el marco en el paquete de extensión. Como resultado, los marcos que utiliza la extensión deben copiarse en el paquete de la aplicación principal y solo vincularse en la configuración de compilación de la extensión (no copiada). Asegúrese de tener la ruta de búsqueda ''@executable_path /../../ Frameworks'' en la compilación de la extensión. Creo que esa ruta fue agregada automáticamente por XCode 10.


Estaba recibiendo este mismo error, junto con un

Error de paquetes anidados no permitidos

Mi problema fue específicamente con SquareReaderSDK.framework pero tuve que agregar un nuevo script de ejecución según sus instrucciones:

FRAMEWORKS="${BUILT_PRODUCTS_DIR}/${FRAMEWORKS_FOLDER_PATH}" "${FRAMEWORKS}/SquareReaderSDK.framework/setup"


La única solución que funcionó para mí fue agregar este script de ejecución al objetivo de la extensión de la aplicación:

cd "${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/" if [[ -d "Frameworks" ]]; then rm -fr Frameworks fi

Fuente: https://github.com/CocoaPods/CocoaPods/issues/4203


Ninguna de las configuraciones de compilación enumeradas aquí resolvió este problema por mí. Sin embargo, conseguí que esto funcione después de mover algunos marcos de "Binarios incrustados" a "Marcos y bibliotecas vinculadas".

Parece que mi aplicación principal y uno de mis marcos personalizados tenían la misma dependencia de marco en ambos y eso parece ser un No No, pero moverlo en mi aplicación principal desde el área Incrustada al área Vinculada me permitió cargar la aplicación con éxito con sin errores.


Ninguna de las respuestas anteriores funcionó para mí. Esto se debió a que el error no fue causado por la aplicación principal o su extensión. Más bien, una de las bibliotecas vinculadas tenía la culpa.

Para confirmar, primero archiva con Xcode y luego con Organizer, selecciona la entrada y localiza usando Show in Finder. Esto mostrará el archivo .xcarchive .

Seleccione ese archivo y elija "Mostrar contenido del paquete".

Seleccione el .app en la carpeta Productos / Aplicaciones y vuelva a elegir "Mostrar contenido del paquete".

Localice el módulo infractor en la carpeta Frameworks. Por ejemplo si el error es:

ERROR ITMS-90206: "Invalid Bundle. The bundle at ''MyApp.app/Frameworks/MyLib.framework'' contains disallowed file ''Frameworks''."

Luego, en Frameworks/MyLib.framework lo siguiente probablemente será visible:

../Frameworks/libswiftContacts.dylib ../Frameworks/libswiftCore.dylib ../Frameworks/libswiftCoreData.dylib ../Frameworks/libswiftCoreGraphics.dylib ../Frameworks/libswiftCoreImage.dylib ../Frameworks/libswiftCoreLocation.dylib ../Frameworks/libswiftDarwin.dylib ../Frameworks/libswiftDispatch.dylib ../Frameworks/libswiftFoundation.dylib ../Frameworks/libswiftLocalAuthentication.dylib ../Frameworks/libswiftObjectiveC.dylib ../Frameworks/libswiftPassKit.dylib ../Frameworks/libswiftUIKit.dylib ../Frameworks/libswiftWebKit.dylib

Estos están presentes porque la biblioteca vinculada - o módulo - que la aplicación principal incluye tiene el EMBEDDED_CONTENT_CONTAINS_SWIFT = YES;

Localice el módulo dependiente en Xcode y actualice la bandera:

Tenga en cuenta que una vez superado este problema, la aplicación aún puede ser rechazada con un correo electrónico explicativo de la tienda iTunes Store:

Invalid Swift Support - The Watch OS application has Swift libraries at both...

Nuevamente, esto vuelve al indicador EMBEDDED_CONTENT_CONTAINS_SWIFT . Asegúrese de que solo la aplicación principal tenga este valor establecido en YES . Tanto la aplicación como la extensión WatchKit deben tener este indicador establecido en NO . Esto es como se detalla en la respuesta de @ Mike arriba.


No pude encontrar ninguna configuración para el Embedded Content Contains Swift Code pero pude encontrar una configuración de Always Embed Swift Standard Libraries y establecer esto en NO para mi marco solucionó este problema.


Resulta que el error está relacionado con el uso de Swift (tanto la aplicación como la extensión hacen uso de Swift).

Para la aplicación, tuve que configurar:

Embedded Content Contains Swift Code: YES

y para la extensión:

Embedded Content Contains Swift Code: NO

Xcode 8 y 9

Parece que esto ha cambiado de nombre a Always Embed Swift Standard Libraries en Xcode 8 y 9. Entonces, para la aplicación:

Always Embed Swift Standard Libraries: YES

y para la extensión:

Always Embed Swift Standard Libraries: NO


Si el script Embed Pods Frameworks y el script de Roman existen en el mismo objetivo.

Verifique si el marco de incrustación de pods se ubica antes que el otro. Si no, simplemente mueva el guión de Roman al último.


Si está utilizando CocoaPods, consideraría eliminar la fase de compilación de marcos de incrustación en el objetivo problemático (la extensión), esto solucionó el problema para mí.


Tuve este problema la primera vez con XCode 7.1.1 para mi aplicación que tiene una extensión Today (no hay Swift en mi proyecto). El script ( https://github.com/CocoaPods/CocoaPods/issues/4203 ) no funcionó para mí.

Al degradar cocoapods a la versión 0.39.0.beta.3, ejecutar la pod install y luego volver a archivarlo resolvió el problema.