Error itms-90035 - Xcode

83

He desarrollado una aplicación phonegap que funciona perfectamente en iPhone. Ahora, quiero enviar la aplicación a la tienda de aplicaciones. A continuación se muestra el procedimiento que estoy siguiendo para enviar mi aplicación:

  1. Abra Xcode y archive el proyecto
  2. Haga clic en validar (que es exitoso)
  3. Haga clic en Enviar a la tienda de aplicaciones (que es donde recibo el siguiente error)

ingrese la descripción de la imagen aquí

Hasta ayer por la noche, ni siquiera recibía este error y hoy por la mañana, archive el proyecto y obtengo este error. No está seguro de cuál es el problema.

Esta es la etapa final que me impide enviar la aplicación y es muy frustrante, intenté buscar el mismo código de error en el foro de stackoverflow y no pude encontrar una sola publicación que sea exactamente del mismo código de error que el mío. lo cual es muy extraño.

Por favor ayuda :)

Nikhil Rao
fuente
1
¿Está seguro de que su configuración de firma de código es correcta?
Anil Varghese
No estoy seguro, ¿cómo lo compruebo? ¿Puedes guiarme con eso?
Nikhil Rao
2
Nikhil También recibo el mismo error desde esta mañana. Intenté "validar" una versión antigua de mi aplicación que YA fue APROBADA Y CARGADA con éxito. Aparte de los errores esperados que estoy esperando (la versión ya existe en AppStore, la versión de mi aplicación está cerrada para modificaciones desde que se lanzó, etc.) sigo recibiendo este ITMS-90035. También he validado que mis certificados no están revocados (del centro de desarrolladores de Apple). Los actualizaré sobre mis hallazgos más tarde hoy, y monitorearé esta publicación para escuchar los suyos. Gracias :)
Nili
1
Lo mismo aquí, ayer envié muchas compilaciones sin errores. Los códigos y la configuración no han cambiado.
VinZen
3
Nikhil resolvió eliminando el archivo .sh de mi objetivo como se sugiere en la respuesta a continuación.
Nili

Respuestas:

77

Tuve el mismo problema, resulta que una de mis bibliotecas instaladas a través de bower incluye un .sharchivo, que no es necesario. Acabo de eliminar el archivo y todo se ha cargado correctamente.

Parece que Apple ahora obliga a los desarrolladores a .shfirmar archivos en sus aplicaciones. Como la aplicación Cordova / Phonegap no necesita ninguno de ellos, puede eliminarlos de forma segura.

Kate Miháliková
fuente
3
Ésta es la única respuesta correcta. Por cierto, no es necesario eliminar el archivo. Simplemente exclúyelo de tus objetivos.
Inferis
1
Solo tengo un archivo .sh en mi proyecto en plataformas> ios> cordova> lib> copy-www-build-step.sh. ¿Es este el que se supone que debo eliminar? ¿O solo si hay dos? ¡Gracias!
shan
5
¡¡¡Gracias!!! Esta es la respuesta correcta. En mi caso, fue el archivo Crittercism dsym_upload.sh que fue copiado en mis paquetes por CocoaPods, que se ha convertido en una palabrota en mi empresa.
toofah
6
Tengo Crittercism incluido a través de CocoaPods y tiene el script dsym_upload.sh que también causa este error. Así que por ahora acabo de comentar esta línea en el archivo Pods-resources.sh: install_resource "CrittercismSDK / CrittercismSDK / dsym_upload.sh"
sasha_nec
Si el crittercism es su problema y está usando vainas de cacao, pruebe la solución que agregué como comentario aquí: stackoverflow.com/questions/29816930/…
jeyben
9

Esto me sucedió después de actualizar a la última versión de Xcode (6.3.1). No son solo archivos .sh, ya que recibía estos errores sobre los scripts de nodo. Parece que CUALQUIER archivo que comience con #! / Usr / bin / env provocará estos errores. ¡Pude causar errores arbitrarios agregando un #! a un archivo aleatorio.

Eliminar temporalmente la directiva #! / Usr / bin / env de la parte superior de los archivos funcionará, pero querrá una mejor solución a largo plazo :)

Tendrá que solucionarlo tratando con cada archivo de script caso por caso para lo que tenga sentido en su proyecto.

Como se señaló anteriormente, esto podría ser un problema temporal por parte de Apple, no necesariamente relacionado con la versión de Xcode.

cayleyh
fuente
8

EDITAR: Me las arreglé para evitar este error eliminando los archivos .sh de mis proyectos de mi objetivo .

Hasta ahora, diría que es un error del lado de Apple.

Envié una aplicación ayer sin ningún problema, la rechacé hoy para enviar un binario ligeramente alterado hoy, pero al igual que usted, ahora me encuentro con el mismo error. Pensé que estaba relacionado Xcode6.3.1porque lo instalé esta mañana, así que lo volví a instalar, Xcode 6.3.0pero el error persistió. Luego reviso todo a fondo:

  • Certificados
  • Perfiles de aprovisionamiento
  • Estado de la aplicación iTunes Connect

Pero no ha tenido éxito hasta ahora.

El hecho de que una búsqueda de Google "itms-90035" arroje solo 1 resultado me hace pensar que puede ser un incidente temporal.

Ferschae Naej
fuente
Hice lo que hiciste tú y tengo la misma opinión que la tuya. Totalmente de acuerdo, con los dedos cruzados, ojalá se resuelva este problema antes.
Nikhil Rao
3

Como han dicho otros, el problema parece deberse a la inclusión de archivos denominados "upload-dsym.sh" en el paquete de la aplicación. Estos son los pasos que tomé para superar este error: Fui a la configuración del proyecto en Xcode y seleccioné el ícono de la aplicación "Destino". Seleccionó la pestaña Build Phases. Haga clic en "Copiar recursos del paquete". Buscó un archivo que se estaba copiando llamado "upload-dsym.sh". Eliminé ese archivo y luego la carga fue bien.

DCG
fuente
El proceso descrito en esta respuesta es la ruta detallada para eliminar el archivo * .sh de la aplicación firmada. En mi caso fue buildtime.shproducido por el entorno Worklight. Como este es un problema relativamente "nuevo", hasta la fecha, parece que Apple de hecho ha cambiado algo en el proceso de
envío
3

Tiene algo que ver con lo incluido .sh files, no tan obvio.


En nuestro caso, fue la biblioteca AudioKit. README dice:

En la mayoría de los casos, al compilar para iOS o tvOS, independientemente de cómo instale el marco, deberá agregar una fase de ejecución al destino de su proyecto con el siguiente script:

"$BUILT_PRODUCTS_DIR/$FRAMEWORKS_FOLDER_PATH/AudioKit.framework/fix-framework.sh"


A veces no los ve directamente en su objetivo build phases. Algunas de las bibliotecas de terceros pueden causar este error porque también están tratando .sh files.

Consulte los archivos de bibliotecas / pods de terceros README para obtener más información.

Jakub Truhlář
fuente
3

En mi caso, recibí este error porque el nombre para mostrar de la aplicación tenía un carácter especial. Se me escapa por qué no se pueden generar los mensajes de error adecuados.

RunLoop
fuente
2

Tengo el mismo problema. Luego elimino el archivo .sh. Y vuelvo a enviar mi aplicación. ¡Exitoso!

MppleHero
fuente
2

Este problema se ha resuelto en CrittercismSDK CocoaPods 5.2.0: https://github.com/CocoaPods/Specs/blob/master/Specs/CrittercismSDK/5.2.0/CrittercismSDK.podspec.json

Puede actualizar a sdk 5.2.0 o eliminar el archivo y eliminar las siguientes líneas del archivo Pods-resources.sh:

    if [[ "$CONFIGURATION" == "Debug" ]]; then 
install_resource "CrittercismSDK/CrittercismSDK/dsym_upload.sh" 
fi 
if [[ "$CONFIGURATION" == "Release" ]]; then 
install_resource "CrittercismSDK/CrittercismSDK/dsym_upload.sh" 
fi 

Gracias

JennieOhyoung
fuente
1

Hoy tuvimos un problema muy similar y lo resolvimos.

ERROR ITMS-90035: "Firma no válida. Falta un recurso sellado o no es válido. El binario en la ruta [MyNiftyApp.app/MyNiftyApp] contiene una firma no válida [...]".

Estamos usando Jenkins-CI para el proceso de compilación junto con el complemento xcode. Cuando revisé el registro de compilación de jenkins, encontré este mensaje de error:

file added: /Users/Shared/Jenkins/Home/workspace/RELEASE_STAGE_my-nifty-app/build/MyNiftyApp.app/MyNiftyApp.app
file modified: /Users/Shared/Jenkins/Home/workspace/RELEASE_STAGE_my-nifty-app/build/MyNiftyApp.app/Assets.car
]
Codesign check fails : /Users/Shared/Jenkins/Home/workspace/RELEASE_STAGE_my-nifty-app/build/MyNiftyApp.app: a sealed resource is missing or invalid

Después de buscar ese Assets.car encontré esta publicación: https://issues.jenkins-ci.org/browse/JENKINS-21253 El usuario tenía un problema similar, podía resolverlo desactivando la siguiente opción de complemento "XCode -> General Build Settings -> Generate Archive? "(Antes era cierto, ahora es falso).

Al menos esto resolvió el problema de nuestro lado; tal vez lo guíe en la dirección correcta.

seafoxx
fuente
1

Resolví esto simplemente eliminando los archivos "binarios" en el error.

Para ti es www / js / release.sh.

Para mí eran dos archivos bower redundantes, un archivo .sh y un archivo .js que estaban ubicados en una carpeta "bin" (¿quizás por eso pensó que era un binario?).

En una nota al margen, parece que aún puede continuar el proceso de carga simplemente haciendo clic en Enviar después de que se le presenten los errores en el Cargador de aplicaciones.

Jørgen Svendsen
fuente
1

Recibí este mismo error cuando intenté cargar mi aplicación usando ApplicationLoader 3.0. Actualizar a ApplicationLoader 3.1 (es decir, el último), solucionó el problema para mí.

Steve Hannah
fuente
Utilizo Application Loader, versión 3.1 (670)y todavía tengo el problema.
antogerva
1

En el directorio de plataformas, ejecute:

grep -r '#!/usr/' *

Esto le mostrará todos los archivos que se pueden ejecutar. Normalmente, esto incluiría archivos .sh y de nodo.

A partir de los resultados, busque los archivos que están en la carpeta de su proyecto (por ejemplo, la carpeta de mi proyecto era plataformas / ios / www / *) y elimínelos y deje el resto.

Ridan
fuente
1

Tuve exactamente el mismo problema. Estaba escribiendo un error en la decisión myApp.app/myApp: busque archivos que comiencen con caracteres especiales o caracteres distintos del inglés. ¡Encontré, borré y todo funcionó!

Ilya Frolov
fuente
0

Tuve el mismo problema al usar xcode 6.3.1 y 6.4 beta. El mío decía que era mi archivo main.o. Busqué en los recursos del paquete de copia y, por alguna razón, el archivo principal de mi proyecto estaba allí. Lo eliminé y lo archivé nuevamente para enviarlo a itunes connect para testflight y se cargó bien. Me tomó 3 horas darme cuenta de que era ese archivo estúpido. Inicio esto ayuda. Parece que realmente necesitas prestar atención a lo que envías en ese "Copiar recursos del paquete" en las fases de compilación. Cualquiera que sea el archivo que le diga que es un problema, elimínelo de esta área y pruébelo.

felixDkatt
fuente
0

En mi caso, recibí el error al enviar un archivo ipa firmado. Resulta que había mirado el paquete de la aplicación en Finder y había creado un archivo .DS_Store (esto fue después de volver a firmar con codesign, que se habría quejado si el archivo estuviera presente en el momento de la firma).

Después de eliminar el archivo .DS_Store, la carga se realizó correctamente.

karstenr
fuente
0

Ejecute el siguiente comando (en mac): codesign --verify -vvvv <your_application>.app

muestra:

codesign --verify -vvvv project.app
project.app: a sealed resource is missing or invalid
file missing: /Users/iHTCboy/workspace/Payload/project.app/.DS_Store

Parece que tiene un archivo oculto .DS_Store dentro de los activos de mi aplicación. Búsquelo, elimínelo y vuelva a intentarlo.

eso es trabajo para mi

iHTCboy
fuente