2012-07-23 16 views
10

Tengo una aplicación en la tienda para la cual deseo comenzar a reescribir toda la aplicación "desde cero". Cuando intento construir y ejecutar la nueva aplicación en mi dispositivo (iPhone 4) que ya contiene la aplicación anterior, aparece el siguiente error: "No se pudieron cambiar los permisos ejecutables en la aplicación".Reescribir la aplicación iOS desde cero "No se pudieron cambiar los permisos ejecutables en la aplicación".

El nuevo ejecutable funciona bien si lo ejecuto en el simulador o elimino la aplicación actual en el dispositivo e instalo fresco. Mi preocupación es que las personas que actualicen a esta última versión de la aplicación no puedan hacerlo.

¿Cómo maneja este escenario?

+2

Este es un duplicado de éste: http://stackoverflow.com/questions/11391710/start-over-ios- aplicación Desafortunadamente, ese tampoco ha sido respondido. Por cierto, ¿has leído esto: http://www.joelonsoftware.com/articles/fog0000000069.html? – woz

+2

jaja buen artículo. A decir verdad, fue mi primera aplicación escrita en el objetivo C, por lo que es bonita, bastante mala y se cuelga todo el tiempo. Pobre de mí, ¿verdad?Bueno, quiero corregirlo para mis usuarios. Tratar de revisar y corregir mi código mal escrito va a tomar más tiempo que hacerlo de la manera correcta, especialmente para futuras actualizaciones. Gracias por el artículo de 12 años: p – Eric

+1

Esto puede suceder si cambias el nombre de tu aplicación y no el identificador. Verifique que el nombre debajo del ícono sea el mismo que su versión anterior –

Respuesta

20

Creo que el problema tiene que ver con el aprovisionamiento de la aplicación.

La versión de la aplicación en su dispositivo, descargada de la App Store, se ha firmado con un perfil de Distribución. Cuando construyes desde Xcode e intentas instalarlo, estás usando un perfil de desarrollo e intentando adjuntar el depurador.

Según mi experiencia, no puede sobreescribir una aplicación de App Store firmada con un perfil de Distribución si compila desde Xcode usando un perfil de Desarrollo e intenta instalarlo sobre la aplicación App Store.

Intente construir desde Xcode utilizando un perfil de aprovisionamiento de distribución y sin asociar el depurador.

Además, las personas nunca experimentarán este tipo de error al actualizar su aplicación en la tienda de aplicaciones porque ambos perfiles de aprovisionamiento deben ser un perfil de distribución.

+1

¿Es un problema nuevo con XCode 4.5? Nunca lo había visto antes y no parece ser tan común. Claramente es un error ¿no? Quiero decir, ¿hay alguna documentación sobre esta "característica"? – Fraggle

+0

¿Ha sido capaz de construir compilaciones de App Store desde Xcode y adjuntar el depurador? No he ... – brynbodayle

+0

¿Entonces obtienes el mismo error si intentas ejecutar una compilación de la tienda de aplicaciones? Ciertamente no he recibido este mensaje antes de XCode 4.5. No estoy seguro si traté anteriormente de ejecutar una compilación de desarrollo sobre la versión de mi App Store, pero sospecho que lo he intentado. – Fraggle

1

Para simular la actualización a través de la App Store, haz el siguiente ejercicio

  1. Preparar un código binario con signo (.ipa) del nuevo código con las mismas credenciales que el anterior (el mismo ID de paquete, el perfil dev , la versión # puede ser diferente)

  2. Ahora cargue el binario mediante la sincronización de iTunes en su dispositivo. Se actualizaría sobre la aplicación existente.

  3. Si todo va bien, entonces su aplicación debería ser buena.

1

Compruebe el identificador del paquete, tanto las aplicaciones antiguas como las nuevas deben tener el mismo identificador.

+0

Comprueba si estás utilizando aplicaciones que comparten el mismo identificador de paquete. –

0

Limpiar el proyecto y eliminar la compilación anterior del dispositivo

2

Acabo de toparme con este problema también. Lo que hice mal fue nombrar el archivo Xcode PROJECT con un nombre diferente al anterior. Nombrarlo de manera idéntica al proyecto anterior solucionó el error y todo funcionó bien. También mantuve bundleID y mostrar el nombre de la misma. La clave para arreglar el error fue el nombre .xcodeproj.

Cuestiones relacionadas