Tengo una aplicación empresarial que estoy distribuyendo a través de una itms
URL:
itms-services://?action=download-manifest&url=itms-services://?action=download-manifest&url=https://$MY_PLIST_URL.plist
En iOS 7, tanto las descargas como las actualizaciones funcionan bien. En iOS 8, sin embargo, aparece el error:
LoadExternalDownloadManifestOperation: Ignore manifest download, already have bundleID: com.mycom.MyApp
En mi plist, tengo
<key>bundle-identifier</key>
<string>com.mycom.MyApp</string>
<key>bundle-version</key>
<string>0.2.2</string>
y en mi aplicación en iOS 8, estoy ejecutando la versión 0.2.1
ios
xcode
ios8
enterprise-distribution
Patrick Perini
fuente
fuente
Respuestas:
También encontré este problema con la distribución de nuestra aplicación. Pudimos solucionar este problema "falsificando" el identificador de paquete dentro del .plist usando para la distribución de descargas, manteniendo nuestro identificador de paquete ipa igual.
Por ejemplo, en tu plist:
cambie com.mycom.MyApp a com.mycom.MyApp.ios8fix
La aplicación se instalará con un nuevo icono de aplicación, que desaparecerá después de la instalación.
Si ya ha instalado la aplicación, incluso verá un nuevo icono de aplicación durante la instalación. Después de la instalación, este icono desaparece, pero se actualizará su versión ya existente de la aplicación. Con una instalación limpia, el icono de instalación desaparecerá y el icono de la aplicación instalada aparecerá en su lugar.
Parece que iOS 8 está almacenando en caché los identificadores de paquete y compara las instalaciones solicitadas con estas en caché. La mayoría de las veces, solo verá una ventana emergente solicitando la instalación, pero no sucede nada.
Como Sean ya notó, esto aparece con xCode 6 GM y la versión oficial de iOS 8. Los dispositivos que nunca antes instalaron su aplicación no tendrán problemas para instalar la aplicación.
fuente
Esto funcionó mejor para mí, no es necesario tocar su manifiesto u otros trucos (perfecto para Xcode Server donde
plist
se genera automáticamente):Esto restablece los cachés del dispositivo, ahora puede instalar su aplicación como de costumbre.
fuente
Estoy teniendo el mismo problema. Lo reproduje por:
1) Tener mi aplicación instalada mientras actualizo de iOS 7 a iOS 8 GM
2) Eliminándolo en iOS 8
3) Intentando instalarlo a través de itms-services: con el mismo nombre de paquete
Cuando intenté cambiar el identificador de paquete en el plist del servidor (no en las aplicaciones Info.plist), funcionó (la aplicación se descargó y no quedó ningún icono "sombra"). Pero parece un error de manzana.
fuente
La solución aceptada ya no funciona en iOS9.
Tengo entendido que Apple ha cerrado un grave agujero de seguridad de iOS al evitar que los binarios ad hoc reemplacen las aplicaciones de stock o las aplicaciones descargadas de la App Store. Consulte este artículo para conocer los antecedentes (CVE-2015-3722 / 3725 y CVE-2015-3725):
https://www.fireeye.com/blog/threat-research/2015/06/three_new_masqueatt.html
Tomadas las implicaciones de seguridad, no esperaría que este comportamiento cambie en futuras versiones de IOS. Las opciones alternativas parecen ser:
fuente
Lo que dijo Gil parece ser correcto, pero más específicamente, descubrí que también necesitaba incrementar la cadena de la versión del paquete en server.plist:
Esto al menos le permite realizar una instalación OTA.
(Lo siento ... Hubiera agregado a los comentarios, pero soy demasiado n00b).
fuente
Eche un vistazo a esta respuesta y esta respuesta .
Puede solucionar este problema sin ningún truco, para iOS8 debe incluir en la
assets
clave del.plist
archivo de manifiesto las clavesdisplay-image
yfull-size-image
. Estaban disponibles en Xcode 5 al guardar un archivo para la implementación empresarial y add-hoc, pero no eran necesarios.He creado una esencia en github con la plantilla para el archivo install-manifet.plist .
fuente
Este es un error que se encontró por primera vez en iOS8 Beta5. Y todavía no fue reparado por Apple en la semilla GM y la versión oficial de iOS8.0. Se pueden encontrar más discusiones aquí
La solución actual que estoy probando yo mismo:
fuente
Problema resuelto cambiando el identificador de paquete en plist.
Normalmente, después de tocar el enlace de itms, se mostrará el escritorio que muestra el icono de instalación. Sin embargo, para mi dispositivo iOS 8.0, después de tocar el enlace de itms, no cambiará a la página de instalación, pero la instalación ya está funcionando.
fuente
Esto es extremo, pero si no puede cambiar el identificador de su paquete, lo cual no pude, restaurar su iPhone a través de iTunes al último iOS 8 y restaurar desde una copia de seguridad soluciona el problema.
fuente
El mismo problema existe en iOS 10 beta 1.
Una cosa que no entiendo aquí es que la fecha es el 31 de diciembre en el registro del dispositivo XCode, sin embargo, el dispositivo tiene la fecha y hora correctas configuradas.
Actualización: los chicos de HockeyApp notificaron a Apple sobre este problema durante la WWDC y la solución debería venir en la próxima semilla.
fuente
Si crea sus aplicaciones de iOS con un script de compilación y anteriormente estaba usando PackageApplication con la marca --sign, entonces eso puede estar causando problemas. El indicador --sign ya no funciona cuando se basa en 10.10 y al eliminarlo, todas nuestras aplicaciones de iOS se instalan nuevamente.
ver: https://devforums.apple.com/thread/251624?tstart=0
fuente
Asegúrese de tener acceso completo a Internet.
Estaba enfrentando el mismo problema con la instalación de OTA y IOS8. Debido a que estoy detrás de un proxy corporativo, las soluciones anteriores no funcionaron hasta que configuré la configuración manual del proxy (no es necesaria en IOS7) para resolver ese problema.
fuente
Acabo de encontrar este problema en un dispositivo que ejecuta 8.1, actualizar el dispositivo a 8.3 ha resuelto el problema. Entonces, o el error ya no está presente en 8.3 ... o el acto de actualizar borró los datos en caché de todos modos.
fuente