Error de validation: el package contiene el file no admitido 'Frameworks'

Estoy teniendo el mismo problema que este tipo , este chico y este tipo (nota bene, en realidad no estoy seguro de si todos son chicos, per se).

Todos terminaron encontrando sus propias soluciones, pero ninguna de ellas se aplica a mi problema. Estoy usando Xcode 6.1 en mi aplicación iOS 8 con una extensión incluida. La aplicación y la extensión dependen de un marco incluido. Cuando bash enviar la aplicación a la tienda, la advertencia de validation que obtengo es "ERROR ITMS-9000: Invalid bundle. The bundle at 'xxxxx.appex' contains disallowed file 'Frameworks'".

Ni siquiera puedo encontrar un file llamado Frameworks. Se supone que el marco compartido se saveá en / Library / Frameworks, que es la location recomendada para save de Apple. El proyecto también usa Cocoapods, lo que me parece el único culpable posible, ya que tiene references en sus files de configuration a $ FRAMEWORK_PATH (aunque la carpeta de compilation no incluye un file o carpeta con ese nombre).

OK para futuros espectadores aquí está la solución:

Cuando creas tu propio framework para iOS (estoy usando Xcode 6.1) cuando lo construyes, el producto final contiene una carpeta 'Frameworks' en el propio package de framework. es decir, MyFramework.framework / Frameworks. Esto sucede incluso si no especifica una fase de compilation de files de copy / integración de frameworks.

Lo que tienes que hacer es entrar en tu package de frameworks, encontrar la carpeta de frameworks vacíos y eliminarlo. Esto no debería afectar la funcionalidad de su aplicación de ninguna manera. Luego compile su aplicación y compruebe que el marco embedded no tiene una carpeta Framework como estaba previsto.

¡Su file no debería contener la carpeta infractora y el error debería desaparecer!

Cambié las configuraciones de construcción> Empaquetado> Definir modules configurados en SÍ en mi extensión y ver el destino de la aplicación. Funciona bien para mi

En mi caso, la solución fue la siguiente:

Intente crear el script allí 'target problemático' -> Fases de compilation ', luego click + y select New Run Script Phase , la secuencia de commands de ejecución debe ir después de todas las demás. Insertar allí:

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

Luego limpie el proyecto e intente crear un file una vez más. Estas respuestas se brindaron en el siguiente número:

Espero que esto te ayude.

Continuando trabajando con esto, noté que mi Extensión de Compartir tenía una Fase de compilation "Incorporar Marcos", con el Destino establecido en el directory "Marcos". Lo cambié a "Shanetworking Frameworks" y el error desapareció.

Sin embargo, sigue habiendo otro error: "… contiene packages nesteds no permitidos". Pensé que era una especie de advertencia de error paraguas como resultado del original. Voy a abrir otra pregunta para eso.