¿Por qué las aplicaciones de App Store transferidas a ~ / Aplicaciones en otra máquina no se inician?


10

Compré algunas aplicaciones de la tienda de aplicaciones de Mac y las instalé en mi computadora personal. Me gustaría instalarlos en una computadora de trabajo compartida. Desafortunadamente, no tengo acceso de administrador a la computadora del trabajo, por lo que no puedo hacer esto de la manera habitual.

Copié las aplicaciones de la computadora de mi casa al ~/Applicationsdirectorio de la computadora del trabajo e intenté ejecutarlas, con un éxito mixto:

  • Algunas aplicaciones, cuando las ejecuta por primera vez, abren un cuadro de diálogo que dice "Iniciar sesión para usar esta aplicación en esta computadora" y le solicitan su ID de Apple y contraseña, después de lo cual funcionan bien. (Ejemplo: DayOne y la mayoría de las aplicaciones gratuitas)
  • La mayoría de las aplicaciones aún le mostrarán este cuadro de diálogo, pero por alguna razón no funcionará, incluso después de que ingrese su ID y contraseña. (Ejemplo: BBEdit, Soulver, Twitterrific)

Las preguntas):

  • ¿Hay algo que pueda hacer para que la aplicación se ejecute?
  • Si no, ¿qué está causando que la aplicación se niegue a iniciarse?

Editar : cuando la aplicación falla, muestra un mensaje de consola "Salido con código de salida: 173". Si entiendo correctamente, esto significa que la aplicación no es válida (lo cual es de esperar cuando la copio de una computadora a otra). Sin embargo, el proceso por el cual la App Store valida la aplicación parece no funcionar cuando la aplicación no está en la ubicación adecuada. Además, parece probable que las aplicaciones que funcionan, como DayOne o las aplicaciones gratuitas, funcionen solo porque no están comprobando que la aplicación se haya comprado de manera válida y que de hecho funcionen en cualquier computadora sin ningún tipo de validación.

La pregunta sigue siendo, ¿hay una solución?

Editar de nuevo: no tengo problemas para copiar una aplicación en ~/Applicationsla computadora de mi casa, incluso para un usuario diferente. Debido a que investigar (sin mencionar la resolución) de este problema requiere tanta molestia (incluidas dos computadoras o al menos una máquina virtual), estoy ofreciendo una recompensa.


¿Estás en león o leopardo de las nieves?
bmike

La computadora de trabajo es leopardo de las nieves. El hogar es el león. hmmm
Nathan Grigg

Lo mejor es iniciar sesión en la computadora del trabajo y descargar y luego mover los archivos una vez que se descargan, ¿no?
bmike

1
Cuando descarga archivos de la tienda de aplicaciones, los coloca /Applicationsy, por lo tanto, requiere una contraseña de administrador.
Nathan Grigg

Ejecuté algunas pruebas y reescribí completamente mi respuesta a continuación. No tengo solución, me temo decir, pero al menos una explicación de lo que sucede.
kopischke

Respuestas:


12

Parece que has encontrado un error interesante (léase: muy molesto) en el proceso de validación de la App Store:

Para empezar, la ubicación en la que copia sus aplicaciones no entra, de hecho, ni su estado como usuario administrador / no administrador. A pesar del hecho de que Apple afirma que esto debería ser posible , en mis dos máquinas, no puedo copiar manualmente una aplicación para que se ejecute como usuario estándar, como usuario administrador, dentro /Applicationso fuera ~/Applications. Tampoco ayuda chowne chmoding el paquete para cumplir con las instalaciones regulares. Aparece la hoja de inicio de sesión de App Store (una vez), pero la aplicación se cierra con el código de salida 173 después de eso.

De acuerdo con la documentación del desarrollador de Apple para la validación de los recibos de la App Store , parte del recibo que valida el uso de una aplicación es un GUID específico de la máquina. Cuando copia una aplicación a otra máquina, el GUID ya no coincide, lo que invalida el recibo (por el contrario, en su propia máquina, siempre coincide, sea cual sea el usuario para el que instale la aplicación; por lo tanto, no tiene ningún problema con eso) . Las aplicaciones están destinadas a señalar un recibo no válido al salir con el código de salida 173, y el storeagentproceso de la tienda de aplicaciones debe hacerse cargo después de eso, solicitar credenciales y generar un nuevo recibo, luego volver a iniciar la aplicación con éxito:

Si el sistema obtiene con éxito un recibo válido, relanza la aplicación. De lo contrario, muestra un mensaje de error al usuario, explicando el problema.

No muestre ningún mensaje de error al usuario si la validación falla. El sistema es responsable de intentar obtener un recibo válido o de informar al usuario que el recibo no es válido.

Lo que sucede en su caso (y en mi prueba) es que la validación falla en silencio , como lo indica el hecho de que el recibo nunca se actualiza, pero tampoco se muestra ningún mensaje de error. Los registros muestran storeagentdevoluciones:

promptResponse: <CKSignInPromptResponse:0x1080c4fb0 returnCode:1>

Este código no está documentado por Apple, y todo lo que he encontrado son discusiones de desarrolladores sobre este tema en un contexto de prueba, donde parece estar relacionado con que los datos de iTunes Connect están incompletos (Geoff Pado tiene un resumen conciso aquí ).

Sin embargo, la imagen en su conjunto muestra claramente que la validación falla en el camino , lo que deja las aplicaciones copiadas manualmente con un recibo no válido incluso después de ingresar las credenciales correctas en la App Store. Solo las aplicaciones que no comprueban su propia validez seguirán ejecutándose, como ya notó.

No es muy útil en su caso, Apple solo recomienda eliminar y volver a descargar de la App Store para solucionar el problema.

TL; DR: No puede copiar manualmente las aplicaciones compradas en la App Store de una computadora a otra hasta que Apple corrija el proceso de validación de recibo necesario para ello. La ubicación de instalación y los privilegios de usuario no entran en él.


El error aparentemente se ha solucionado (consulte apple.stackexchange.com/questions/46874/… ). También funciona para mí, a pesar de no haber actualizado la máquina Snow Leopard desde que originalmente hice la pregunta.
Nathan Grigg
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.