Soporte Swift inválido / implementación inválida de swift

Me gustaría subir una aplicación escrita de forma rápida. El cargador de aplicaciones entrega la aplicación con éxito, pero después de unos minutos recibo una respuesta de Apple que dice:

Soporte Swift no válido: el paquete contiene una implementación no válida de Swift. La aplicación puede haber sido creada o firmada con herramientas no compatibles o de lanzamiento previo. Visite developer.apple.com para obtener más información.

Utilizo xCode Versión 6.0.1 (6A317), Swift iOS SDK 8.0 y simplemente construyo la aplicación con xcode.

¿Dónde puedo encontrar información sobre cómo obtener una implementación válida de swift? Apple no dice nada concreto.

Gracias

Tuve un problema similar. Para solucionarlo y poder enviar una comstackción a iTunes Connect, tuve que hacer lo siguiente:

  • Establezca el indicador EMBEDDED_CONTENT_CONTAINS_SWIFT en YES en la configuración de destino
  • Asegúrate de que Build Fases no incluya ningún otro objective raro
  • Logout todas las cuentas de Apple Developper de Xcode e inicie sesión solo con la que desea impulsar la aplicación .
  • Archive y envíe la aplicación with Xcode y NO con Application Loader.

¿Por qué tenía que cerrar la sesión de todas mis cuentas Apple Developper?

Porque Xcode no sabe qué cuenta usar para subir el binario. El Cargador de aplicaciones le pregunta al principio, pero luego, la construcción cargada no es válida …

ACTUALIZAR:

Desde Xcode 7.1 y las nuevas versiones de Swift obtuve el error nuevamente. La solución actual es hacer lo siguiente:

  • Crear un archivo localmente en Xcode (no funciona en mi CI)
  • En Organizador, expórtalo como una comstackción de AppStore.
  • Use Application Loader para cargar el binario.

Después de unos minutos (~ 10) la comstackción debería estar disponible en iTunes Connect.

El problema podría provenir de los cocoapods si está usando pods Swift. Para solucionarlo, utilice la twig xcode7-invalid-swift-support-fix ( uso ). O hágalo manualmente editando Pods / Target Support Files / Pods / Pods-frameworks.sh y comentando el bloque después de

  # Embed linked Swift runtime libraries 

Más información:

Solución para xcodebuild

  • crea una carpeta temporal

  • descomprimir el archivo ipa a la carpeta temporal

  • crear la carpeta SwiftSupport dentro de la carpeta temporal
  • Copie libs rápidas de Payload / * app / framworks a la carpeta SwiftSupport
  • El archivo ipa desde contiene dentro de la carpeta temporal (tenemos las carpetas de carga útil y SwiftSupport).

Aquí mi script de shell para agregar Swift libs a ipa

https://github.com/huhuvipi/VH_ipa_packger

Si tiene un archivo ipa existente, simplemente:

path/to/package_ipa.sh /path/to/ipafile

¿Construyes con la línea de comando (xcodebuild)?

Si es así: me encontré con el mismo problema. El problema es que el archivo ipa generado no es válido. Falta la carpeta SwiftSupport. XCode agrega la carpeta cuando se crea un proyecto con Swift con Xcode Gui.

El problema se describe en este hilo del foro de desarrollador de Apple con una referencia a un ticket de radar abierto: https://devforums.apple.com/message/1042117#1042117

¿Tienes alguna otra versión de Xcode instalada?

Abra su Xcode más reciente, luego vaya a preferencias (menú Xcode -> Preferencias), cambie a la pestaña Ubicaciones y verifique que las Herramientas de línea de comandos coincidan con su versión de Xcode.

Si está xcodebuild través de xcodebuild o Xcode Server (o cualquier otra cosa que no sea la ventana de Organizador en Xcode), la IPA falta de SwiftSupport . Vea esta discusión del problema.

La solución es esencialmente exportar el IPA usted mismo. CaveJohnson tiene un comando para exportar un IPA con el SwiftSupport correcto, para que pueda construir un IPA como ese:

 cavejohnson xcodeGUITricks --archive-path my.xcarchive --new-ipa-path myapp.ipa 

Estaba con el mismo problema y probé todo lo propuesto, pero siempre falló … Mis aplicaciones generan carpetas de SwiftSupport, acabo de resolver con esta solución:

Gracias por enviar ese archivo .ipa. El problema está causado por libswiftXCTest.dylib en el directorio SwiftSupport. Ese dylib es utilizado por los objectives de prueba y es normal que las comstackciones de desarrollo lo incluyan, pero una comstackción de archivos para la App Store no debe incluir este dylib.

Para resolver este problema, siga estos pasos:

  1. Abra su proyecto Xcode
  2. Seleccione Producto> Esquema> Editar esquema
  3. Haga clic en Build en la barra lateral izquierda
  4. Para su objective de prueba, desmarque la checkbox Archivo
  5. Haga clic en el botón Cerrar
  6. Seleccione Producto> Archivo
  7. Envíe el último archivo al App Store

También tuve este problema

Intenté configurar el indicador de EMBEDDED_CONTENT_CONTAINS_SWIFT en SÍ y NO. Ambos no estaban funcionando para mí.

Eventualmente lo intenté con CaveJohnson mencionado por Drew. Pero eso tampoco funcionó.

Por fin, creé un nuevo proyecto e inserté mis archivos y marcos rápidos, etc. ¡Eso fue todo!

La solución en mi caso: crear un nuevo proyecto

OK, he estado trabajando en esto por muchas horas y finalmente encontré una solución.

Para pre-enmarcar la respuesta aquí es lo que hice: – intenté todo en las respuestas anteriores – pasé una hora al teléfono con el soporte técnico de Apple. – Lea todos los foros de desarrolladores de Apple que tengan que ver con “swift inválido” en su red de desarrolladores. Intentó cada una de las soluciones propuestas.

Finalmente desinstalé y reinstalé Xcode y, ¿sabes ?, funciona ahora. A veces no sé por qué esta no es mi primera idea para una solución .

Verifica la firma de tu código. Tuve este error al usar la firma automática. Puse mi perfil de desarrollador para el perfil de desarrollo y producción para la versión de lanzamiento y el error desapareció.

Solución simple :

Hola, tuve el mismo problema y a continuación está la solución:

Simplemente configure el indicador EMBEDDED_CONTENT_CONTAINS_SWIFT en NO en la configuración de construcción de Target, Project y en todas partes, como testTarget.

Descubrí que el cambio de “Contenido incrustado contiene código Swift” de SÍ a NO en la configuración principal de comstackción de la aplicación (y dejándolo configurado como SÍ en la extensión) se ejecutaría en el reloj (y en el teléfono). Al mismo tiempo que cargué ese binario, Apple debe haber hecho un cambio en el backend de ITC ya que mis otras comstackciones cargadas que habían sido marcadas como “Binary no válido” volvieron a “Processing” y luego pasaron la pantalla a “Inactive”.

Así que envié la comstackción con “Contenido incrustado contiene código Swift” SÍ en la extensión solo para su revisión.

Aplicación principal: contenido incrustado contiene código Swift = SÍ (si es un proyecto rápido. Else NO)

WatchKit Extension: Contenido incrustado contiene código Swift = SÍ (si es un proyecto rápido. Else NO)

Aplicación WatchKit: contenido incrustado contiene código Swift = NO (en cualquier caso)

Aquí hay una solución al usar la línea de comando http://www.matrixprojects.net/p/xcodebuild-export-options-plist/

Básicamente todo lo que se necesita hacer es crear el archivo xcodebuild exportOptions plist que se ve así:

     teamID MYTEAMID123 method app-store uploadSymbols    

La clave más importante aquí es método app-store

Y luego ejecuta la construcción de xcode con el archivo

 xcodebuild -scheme MyApp -archivePath builds/MyApp.xcarchive archive 

Después de eso, ejecute xcrun con el archivo de exportación

 xcrun xcodebuild -exportArchive -exportOptionsPlist exportPlist.plist -archivePath builds/MyApp.xcarchive -exportPath builds 

Estaba enfrentando el mismo problema. La solución que funcionó para mí fue actualizar mi xcode y luego crear un nuevo proyecto y copiar pegar todo mi trabajo en ese proyecto.

seriamente. Pasé dos días sobre este problema e intenté todos los métodos anteriores. Nada funciona! Finall. Usé el mac de mi amigo. Y esta vez, funciona. Después de eso, me di cuenta de que descargué el xcode del centro de desarrollo, no en la tienda de aplicaciones mac. Así que eliminé todo xcode de mi mac, y reinstalé el xcode de la tienda de aplicaciones, y funcionó. Y no hay diferencia entre las dos versiones, que compartieron exactamente el mismo número de versión.

Después de la actualización del proyecto Swift en el nuevo xcode, estaba obteniendo un error similar y debajo está mi solución.

Abra el archivo project.pbxproj y elimine la línea siguiente

EMBEDDED_CONTENT_CONTAINS_SWIFT = SÍ;

y pudo enviar la aplicación con éxito.

Tuvimos un problema similar después de actualizar a Xcode 7. Tuvimos que agregar la opción -exportOptionsPlist y el method suministro e teamID . Las cosas mal, pero funciona ahora.

Solución de cinco pasos:

  1. Ir a la configuración de comstackción y marcar el contenido incrustado contiene código Swift -> YES , si su código contiene un código de velocidad parcial o hecho completamente en Swift
  2. Archive su construcción usando Xcode-> Product-> Archive
  3. Exporte la comstackción del archivo de repente verá que el tamaño de comstackción de diferencia será de más de 40 MB. Esto es porque XCode ha agregado la carpeta SwiftSupport que faltaba
  4. Ahora cargue esta comstackción usando el cargador de aplicaciones
  5. Si esto no funciona, compruebe que si tiene varios XCode en su sistema, vaya a Xcode-> Preferencias-> Ubicación-> Herramientas de líneas de comando tiene el mismo último Xcode del menú desplegable seleccionado en el que ha hecho la encoding y vola es hecho.

Esto es un inconveniente, ya que Swift lleva el equipaje y debe ser compatible con la versión anterior y el código Objective C.

Mis muchas horas se desperdiciaron, espero que esto sea útil;)

Pensé que debería compartir ya que pasé unos días tratando de resolver este problema.

Todo el mundo sigue diciendo que establezca EMBEDDED_CONTENT_CONTAINS_SWIFT = NO o =YES

Tenía una aplicación para iPhone escrita enteramente en Objective-C y una aplicación Watch Kit escrita completamente en Swift.

Configuré EMBEDDED_CONTENT_CONTAINS_SWIFT = NO para todo (objective del proyecto, destino de la aplicación iPhone, pruebas, UITests y WatchKit)

El lugar donde configuré EMBEDDED_CONTENT_CONTAINS_SWIFT = YES encuentra en WatchKit Extension. Esto resolvió mi problema y pude subirlo a la App Store a través de Xcode.

Espero que esto pueda ayudar a alguien!

Pude solucionar esto abriendo el archivo, yendo a SwiftSupport y borrando la carpeta de WatchOS porque estaba vacía. Supongo que mi objective de Watch estaba configurado para incrustar Swift, por lo que incluía la carpeta pero no generaba nada dentro de ella. Entonces, iTC vio una carpeta vacía y errores. Al eliminar la carpeta vacía, funcionó.

Para mí esto es lo que funcionó para la distribución.

Ir a -> Xcode-> producto-> Archivo-> Exportar

Después de esto, se creará una carpeta con la fecha actual. Puedes guardarlo en algún lado para usarlo más tarde. A continuación, abra el cargador de aplicaciones y puede enviarlo a itunesConnect desde aquí. Todo será despejado. Asegúrese de crear el archivo Build (.ipa) haciendo clic en Exportar opción en la ventana del organizador. A continuación, use el cargador de aplicaciones para enviar comstackción a iTunes Connect.

Espero que ayude. Déjeme saber si usted necesita más información.

Si tiene cocoapods, simplemente elimine todos los pods y luego reinstale la pod install .

Muy molesto ya que tengo el error -22421 cuando cargo directamente desde Xcode y soporte Swift inválido cuando uso Application Loader

De hecho, lo resolví con una solución completamente diferente, no relacionada y realmente extraña. Tenía el error anterior, pero NO cambió nada en el entorno de proyecto o comstackción.

Después de muchos Ciclos de reconstrucción y carga, resultó que se trataba de un certificado Ad-Hoc que causaba este problema. Usar fastlane y configurar el indicador de gym ad_hoc en falso así como también usar una configuración de Release para la construcción (no estoy seguro de cuál fue el que lo arregló) finalmente funcionó. Aquí está mi línea de gym :

 identifier = "de.xxx.yyy" config = "Release" ad_hoc = false scheme = "Schema" gym(verbose: false, scheme: scheme, codesigning_identity: "iPhone Distribution: YTB)", configuration: config)