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

9

He comprado algunas aplicaciones en la tienda de aplicaciones de Mac y las he instalado en mi computadora personal. Me gustaría instalarlos en una computadora de trabajo compartida. Desafortunadamente, no tengo acceso de administrador a la computadora de trabajo, por lo que no puedo hacerlo de la manera habitual.

He copiado las aplicaciones de la computadora de mi hogar al directorio ~/Applications de la computadora de trabajo y he intentado ejecutarlas, con resultados diferentes:

  • Algunas aplicaciones, cuando las ejecutas por primera vez, abren un cuadro de diálogo que dice "Iniciar sesión para usar esta aplicación en esta computadora" y te solicitarán tu ID de Apple y contraseña, después de lo cual funcionarán 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 haya escrito su ID y contraseña. (Ejemplo: BBEdit, Soulver, Twitterrific)

La (s) pregunta (s):

  • ¿Hay algo que pueda hacer para que la aplicación se ejecute?
  • Si no es así, ¿qué es lo que hace que la aplicación se niegue a iniciarse?

Editar : cuando la aplicación falla, aparece un mensaje de consola "Salió con el código de salida: 173". Si comprendo correctamente, esto significa que la aplicación no es válida (lo cual se espera cuando lo copie 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 correcta. Además, parece probable que las aplicaciones que funcionan, como DayOne o las gratuitas, solo funcionen porque no están comprobando que la aplicación haya sido comprada de manera válida y, de hecho, funcionaría en cualquier computadora sin ningún tipo de validación.

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

Vuelva a editar: no tengo problemas para copiar una aplicación en ~/Applications en la computadora de mi hogar, incluso para un usuario diferente. Debido a que investigar (por no hablar de resolver) este problema requiere tantos problemas (incluyendo dos computadoras o al menos una máquina virtual), estoy ofreciendo una recompensa.

    
pregunta Nathan Grigg 05.10.2011 - 21:02

1 respuesta

12

Ha encontrado un error interesante (leído: muy molesto) en el proceso de validación de la App Store, parece:

Para empezar, la ubicación en la que copia las aplicaciones no se incluye en ella, ni tampoco su estado como usuario administrador / no administrador. A pesar de que Apple indica que esto debería ser posible , en mis dos máquinas, no puedo hacer que una aplicación se copie manualmente para que se ejecute como un usuario estándar, un usuario administrador, en /Applications o en ~/Applications . Ni chown ing ni chmod ing del paquete para cumplir con la ayuda de las instalaciones regulares. La hoja de inicio de sesión de App Store aparece una vez, pero la aplicación sigue saliendo con el código de salida 173 después de eso.

Según 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 en otra máquina, el GUID ya no coincide, lo que invalida el recibo (a la inversa, 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 tienen la intención de indicar un recibo no válido al salir con el código de salida 173, y el proceso storeagent de la App Store está destinado a tomar el control después de eso, solicitar credenciales y generar un nuevo recibo, y luego volver a iniciar la aplicación en caso de éxito:

  

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

     

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

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

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 problema 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í ).

En cualquier caso, la imagen en su conjunto muestra claramente que la validación está fallando en route , 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 comprueben su propia validez se ejecutarán, como anotó.

No es muy útil en su caso, Apple solo recomienda eliminar y volver a descargar desde 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 del recibo necesario para ello. La ubicación de instalación y el privilegio del usuario no entran en ella.

    
respondido por el kopischke 25.10.2011 - 23:44

Lea otras preguntas en las etiquetas