Distribuimos aplicaciones a través de una cuenta Enterprise, usando una itms-services://
URL. Esto siempre ha funcionado bien, pero después de instalar iOS 7.1 beta en nuestro iPad se niega a instalar. En cambio, solo recibimos el Cannot connect to example.com
mensaje genérico que iOS muestra inútilmente cuando hay algún tipo de problema al descargar la aplicación.
No he podido encontrar nada aquí en SO, en Google o en las notas de la versión 7.1 para sugerir qué podría estar causando el problema.
ios
deployment
Mark Parnell
fuente
fuente
Respuestas:
Encontré el problema conectando el iPad a la computadora y viendo la consola a través del Organizador XCode mientras intentaba instalar la aplicación. El error resulta ser:
Resulta que en iOS 7.1, la URL del
manifest.plist
archivo debe ser HTTPS, donde estábamos usando HTTP. Cambiar la URL a HTTPS resolvió el problema.Es decir
se convierte
Supongo que debe tener un certificado SSL válido para el dominio en cuestión. Ya lo hicimos, pero me imagino que tendrás problemas sin él.
fuente
Ingconti tiene razón.
www.dropbox.com
condl.dropboxusercontent.com
en el enlace, como https://dl.dropboxusercontent.com/s/qgknrfngaxazm38/app.plistdownload.html
archivo con un enlace formateado como<a href="itms-services://?action=download-manifest&url=https://dl.dropboxusercontent.com/s/qgknrfngaxazm38/app.plist">INSTALL!!</a>
download.html
a Dropboxwww.dropbox.com
condl.dropboxusercontent.com
en el segundo link, así como https://dl.dropboxusercontent.com/s/gnoctp7n9g0l3hx/download.htmlAhora, visite
https://dl.dropboxusercontent.com/s/gnoctp7n9g0l3hx/download.html
en su dispositivo, puede instalar la aplicación como antes.¡QUÉ MUNDO TAN MARAVILLOSO!
fuente
Además de la respuesta de Mark Parnell, una forma rápida y sucia de solucionar esto es poner el manifiesto en Dropbox y luego usar la interfaz web de Dropbox para obtener un enlace https directo ('Compartir enlace' -> ' Obtener enlace '->' Descargar ').
La ipa real puede permanecer donde sea que la haya servido siempre. Tendrá que codificar con URL la URL del plist antes de insertarla en la consulta de la URL de itms-servivces (aunque solo podría reemplazar cualquier & s con% 3D).
Una desventaja es que el diálogo de instalación ahora leerá "dl.dropbox.com quiere instalar [lo que sea]".
fuente
Es cierto, en el futuro se espera que realice todas las implementaciones de OTA a través de https en adelante con iOS7.1. Una pena para Apple por no documentar esto.
Para aquellos de ustedes que buscan una mejor solución interna que depender de Dropbox o tener que desembolsar efectivo para obtener un certificado, pueden tener una solución si siguen los pasos descritos en el consejo # 5 aquí: http: // blog. httpwatch.com/2013/12/12/five-tips-for-using-self-signed-ssl-certificates-with-ios/
La esencia de esto es esto:
Esto no es lo mismo que hacer un certificado autofirmado, en esta solución también está actuando como su propia Autoridad de Certificación privada. Si su certificado raíz que está instalado en su dispositivo Apple no está marcado como Confiable (verde), entonces algo está mal. Hazlo de nuevo.
Esto funciona absolutamente.
Actualización: 13/03/2014: proporcioné una pequeña utilidad de línea de comandos que simplifica todo este proceso. Puede obtenerlo en: https://github.com/deckarep/EasyCert/releases
fuente
Tuve el mismo problema y aunque ya estaba usando un servidor SSL, simplemente cambiar los enlaces a https no funcionaba ya que había un problema subyacente.
Haga clic aquí para ver la imagen.
Ese bit destacado me dijo que deberíamos tener la opción de confiar en el certificado, pero dado que esta es la tienda de aplicaciones, trabajando a través de Safari esa sugerencia de recuperación simplemente no se presenta.
No estaba contento con las soluciones existentes porque:
Finalmente encontré una solución creando una Autoridad de certificación raíz autofirmada y generando el certificado SSL de nuestro servidor usando esto.
Utilicé Keychain Access y OSX Server, pero hay otras soluciones válidas para cada paso
Crear una autoridad de certificación
Por lo que deduzco, las autoridades de certificación se utilizan para verificar que los certificados son genuinos. Como estamos a punto de crear uno nosotros mismos, no es exactamente seguro , pero significa que puede confiar en todos los certificados de una autoridad determinada. Una lista de estas autoridades generalmente se incluye de manera predeterminada en sus navegadores, ya que estos son realmente confiables. (GeoTrust Global CA, Verisign, etc.)
Generando una Solicitud de Firma de Certificado
En nuestro caso, las solicitudes de firma de certificados son generadas por el administrador del servidor. Simplemente es un archivo que pregunta "¿Puedo tener un certificado con esta información para mi sitio, por favor?".
Creando el Certificado
Actuando como la autoridad de certificación nuevamente, depende de usted decidir si la persona que le envió la CSR es genuina y no pretende ser otra persona. Las autoridades reales tienen sus propias formas de hacer esto, pero dado que usted está seguro de que es usted, su verificación debe ser bastante segura :)
Puede hacer clic en continuar por el resto de las opciones.
La aplicación de Correo se abrirá y le dará la oportunidad de enviar el certificado. En lugar de enviar correos electrónicos, haga clic derecho y guárdelo.
Instalando el Certificado
Ahora necesitamos configurar el servidor para usar el certificado que acabamos de crear para su tráfico SSL.
Configurar dispositivos
Cada dispositivo en el que necesite instalar aplicaciones deberá tener una copia de esta autoridad de certificación para que sepan que pueden confiar en los certificados SSL de esa autoridad
Prueba
Asegúrese de que sus enlaces de plist sean https
fuente
Certificate Authority
certificado y no el certificado SSL auto firmado, ya que por error instala por primera vezPuedo confirmar que funciona, pero tienes que poner html AND plist en dropbox. Funciona también para OTA no empresariales, es decir, desea compartir la aplicación con su desarrollador. equipo.
Yo hice:
a) en mi sitio hice una página con este enlace:
.. href = "https://dl.dropboxusercontent.com/u//(tu ID de DB) /ipa.html"> MyApp
b) en DropBox escribí otra página HTML:
.. https://dl.dropboxusercontent.com/u/(your DB id) /MyApp.plist "> Toque para instalar MyApp
c) moví plist en DropBox pero lo dejé apuntar a mi antiguo servidor (no https)
fuente
Abra la terminal y ejecute el comando: curl -i https: // (la ruta del archivo .ipa no es plist)
Esto le dirá si el instalador puede ver o no el archivo IPA. Si ejecuta el comando curl con '-i' verá la respuesta completa y probablemente no sea el archivo IPA. Esta es la respuesta que ve el instalador, por lo que si no devuelve HTTP 200 y un IPA, deberá devolverlo de su parte.
El instalador de ITMS no guarda ningún contexto de Safari. Si se autenticó en un portal seguro en Safari, las cookies de autenticación no se pasan al instalador. es decir, el instalador debe poder ver la aplicación sin autenticación y esta podría ser la razón por la que obtiene "No se puede conectar al servidor".
fuente
Tuve el mismo problema e hice lo mencionado anteriormente.
Ambas páginas funcionaron con éxito para instalar la aplicación en iphones con ios 7.1
Pero ahora los iphones con ios 7.0x no pueden instalar la aplicación.
Creé una nueva pregunta: la implementación mejorada de la aplicación adhoc no funciona en iOS anterior a 7.1
Ambos temas están estrechamente relacionados y también unidos por la falta de referencias oficiales.
fuente
Un buen tipo manejó el problema utilizando el certificado StartSSL de Clase 1 y la configuración compartida de Apache que agrega soporte para certificados (funcionará con cualquier certificado) y el código para cambiar los enlaces en los archivos * .plist existentes automáticamente. Demasiado largo para copiar, así que aquí está el enlace: http://cases.azoft.com/how-to-fix-certificate-is-not-valid-error-on-ios-7/
fuente
Si tiene AWS S3, eso también funciona a la perfección. Bien. Hablando relativamente :-)
Cree un depósito para sus anuncios publicitarios en AWS, agregue un archivo de índice (puede ser solo un archivo index.html en blanco) y luego use un cliente que pueda conectarse a S3 como CyberDuck o Coda (utilicé Coda, donde seleccionaría Agregar Sitio para obtener una ventana de conexión) luego configure las conexiones como las adjuntas:
Luego, cree su empresa ad hoc en XCode y asegúrese de usar https://s3.amazonaws.com/your-bucket-name/your-ad-hoc-folder/your-app.ipa como URL de la aplicación, y cárguela a su nuevo directorio de cubo S3.
El enlace de itms debe coincidir, es decir, itms-services: //? Action = download-manifest & url = https://s3.amazonaws.com/your-bucket-name/your-ad-hoc-folder/your-app.plist
Y voilá.
Esto es solo para URL genéricas de AWS: no he probado con URL personalizadas en AWS, por lo que es posible que deba hacer algunas cosas de manera diferente.
Estaba decidido a tratar de hacer que la solución de James Webster anterior funcione, pero no pude hacer que funcione con Plesk.
fuente
Como alternativa al uso de Dropbox para la distribución empresarial, puede usar TestFlight para la distribución de aplicaciones empresariales firmadas.
https://www.testflightapp.com/
Este es un servicio fantástico para el alojamiento y la distribución tanto de compilaciones de desarrollo ad-hoc como de compilaciones empresariales.
fuente
Además de las respuestas anteriores sobre Dropbox, implementé el siguiente árbol de archivos, como solo el archivo PLIST debe cargarse en Dropbox:
use la opción "Compartir el enlace con Dropbox" que copia el enlace a su portapapeles. Este enlace debe copiarse en su archivo html en la consulta de URL de itms-servivces después de cambiar la parte
www.dropbox.com
pordl.dropboxusercontent.com
. Tenga en cuenta que URL codificó el enlace según lo sugerido por @Mike pero no pruebo sin hacerlo. Ahora la consulta de la URL de itms-services debería verse así:itms-services://?action=download-manifest&url=https%3A%2F%2Fdl.dropboxusercontent.com%2Fs%2FYourShortDropboxLink.plist
suba el archivo html a su servidor en http. Tenga en cuenta que el archivo html contiene enlaces a ipa y archivos de aprovisionamiento.
A partir de ahora, solo el archivo ipa debe cambiarse para proporcionar las próximas versiones de la aplicación de OTA a sus beta testers. Hasta que Apple todavía está cambiando las reglas de seguridad.
Me uno aquí después del archivo HTML muy simple que estoy usando:
fuente
Nuestro equipo usa Dropbox para la distribución ad-hoc que usa https pero aún así nuestra aplicación no se pudo instalar. Después de muchos problemas, nos dimos cuenta de que el campo del título también es obligatorio. Cada vez que enviamos un enlace sin este campo, safari ignoraba el enlace y no pedía al usuario que lo instalara. A veces, para las pruebas de desarrollo rápido, omitimos el nodo del título en el xml y no lo llenamos. En caso de que esto sea útil para cualquier persona que tenga este problema, asegúrese de que su .plist contenga los siguientes nodos poblados:
fuente
Después de leer esta publicación, aún tenía problemas para descargar mi aplicación. El problema se debió al certificado SSL autofirmado.
He encontrado una solución para este problema. Debe cargar su archivo de certificado con la extensión '.crt' en la web y escribir la dirección en su safari móvil. El sistema le pregunta sobre cómo agregar su certificado a la lista de certificados de confianza. Después de esta operación, podrá instalar su aplicación ad-hoc.
fuente
La solución universal es conectar su dispositivo a Mac y observar lo que sucede durante la instalación. Recibí un error:
Incluso hubo una sugerencia en ese error para verificar la configuración de la fecha. Por alguna razón, la fecha era el 1 de enero de 1970. Establecer la fecha correcta resolvió el problema.
fuente
Apter intentó cambiar
itms-services://?action=download-manifest&url=http://....
aitms-services://?action=download-manifest&url=https://....
. Tampoco puede funcionar. La alerta escannot connect to my domain
. Descubrí que también es necesario actualizar la página web.El problema no es que la URL principal sea HTTPS sino parte del código HTML en un enlace dentro de la página. Necesitará a sus desarrolladores para actualizar la página web. También noté que no hay un certificado SSL válido en su dominio provisional, por lo que necesitará instalar uno o usar Dropbox y aquí está el enlace que puede serle útil.
fuente