Nous distribuons des applications via un compte Enterprise, en utilisant une itms-services://
URL. Cela a toujours bien fonctionné, mais après avoir installé la version bêta d'iOS 7.1 sur notre iPad, il refuse de l'installer. Au lieu de cela, nous obtenons simplement le Cannot connect to example.com
message générique qu'iOS affiche de manière inutile en cas de problème de téléchargement de l'application.
Je n'ai rien trouvé ici sur SO, sur Google ou dans les notes de version 7.1 pour suggérer ce qui pourrait être à l'origine du problème.
ios
deployment
Mark Parnell
la source
la source
Réponses:
J'ai trouvé le problème en connectant l'iPad à l'ordinateur et en affichant la console via XCode Organizer tout en essayant d'installer l'application. L'erreur s'avère être:
Il s'avère que dans iOS 7.1, l'URL du
manifest.plist
fichier doit être HTTPS, où nous utilisions HTTP. La modification de l'URL en HTTPS a résolu le problème.C'est à dire
devient
Je suppose que vous devez avoir un certificat SSL valide pour le domaine en question. Nous l'avons déjà fait, mais j'imagine que vous aurez des problèmes sans cela.
la source
ingconti a raison.
www.dropbox.com
pardl.dropboxusercontent.com
dans le lien, comme https://dl.dropboxusercontent.com/s/qgknrfngaxazm38/app.plistdownload.html
fichier avec un lien au format<a href="itms-services://?action=download-manifest&url=https://dl.dropboxusercontent.com/s/qgknrfngaxazm38/app.plist">INSTALL!!</a>
download.html
boîte aux lettreswww.dropbox.com
pardl.dropboxusercontent.com
dans le deuxième lien, comme https://dl.dropboxusercontent.com/s/gnoctp7n9g0l3hx/download.htmlMaintenant, visitez
https://dl.dropboxusercontent.com/s/gnoctp7n9g0l3hx/download.html
dans votre appareil, vous pouvez installer l'application comme auparavant.QUEL MONDE MERVEILLEUX!
la source
Suite à la réponse de Mark Parnell, un moyen rapide et sale de contourner cela est de mettre le plist manifeste dans Dropbox, puis d'utiliser l'interface Web Dropbox pour obtenir un lien https direct vers celui-ci (`` Partager le lien '' -> '' Obtenir le lien '->' Télécharger ').
L'IPA réelle peut rester là où vous l'avez toujours servie. Vous devrez encoder l'URL de l'URL du plist avant de l'insérer dans la requête de l'URL itms-servivces (bien que le simple remplacement de tout & s par% 3D puisse fonctionner).
Un inconvénient est que la boîte de dialogue d'installation affichera désormais "dl.dropbox.com veut installer [n'importe quoi]".
la source
C'est vrai, à l'avenir, vous devez effectuer tous les déploiements OTA sur https à l'avenir avec iOS7.1. Honte à Apple de ne pas avoir documenté cela.
Pour ceux d'entre vous qui recherchent une meilleure solution en interne que de compter sur Dropbox ou d'avoir à débourser de l'argent pour un certificat, vous pouvez avoir une solution si vous suivez les étapes décrites dans l'astuce # 5 ici: http: // blog. httpwatch.com/2013/12/12/five-tips-for-using-self-signed-ssl-certificates-with-ios/
L'essentiel est le suivant:
Ce n'est pas la même chose que de simplement faire un certificat auto-signé, dans cette solution, vous agissez également comme votre propre autorité de certification privée. Si votre certificat racine installé sur votre appareil Apple n'est pas marqué comme approuvé (vert), alors quelque chose ne va pas. Faites-le.
Cela fonctionne absolument.
Mise à jour: 13/03/2014 - J'ai fourni un petit utilitaire de ligne de commande qui simplifie tout ce processus. Vous pouvez l'obtenir sur: https://github.com/deckarep/EasyCert/releases
la source
J'ai eu le même problème et même si j'utilisais déjà un serveur SSL, le simple changement des liens vers https ne fonctionnait pas car il y avait un problème sous-jacent.
Cliquez ici pour l'image
Ce bit en surbrillance m'a dit que nous devrions avoir la possibilité de faire confiance au certificat, mais comme il s'agit de l'App Store, en travaillant via Safari, cette suggestion de récupération n'est tout simplement pas présentée.
Je n'étais pas satisfait des solutions existantes car:
J'ai finalement trouvé une solution en créant une autorité de certification racine auto-signée et en générant le certificat SSL de notre serveur à l'aide de cela.
J'ai utilisé Keychain Access et OSX Server, mais il existe d'autres solutions valides à chaque étape
Création d'une autorité de certification
D'après ce que je comprends, les autorités de certification sont utilisées pour vérifier que les certificats sont authentiques. Puisque nous sommes sur le point d'en créer un nous-mêmes, ce n'est pas exactement sécurisé , mais cela signifie que vous pouvez faire confiance à tous les certificats d'une autorité donnée. Une liste de ces autorités est généralement incluse par défaut dans vos navigateurs, car ceux-ci sont réellement fiables. (GeoTrust Global CA, Verisign, etc.)
Génération d'une demande de signature de certificat
Dans notre cas, les demandes de signature de certificat sont générées par l'administrateur du serveur. C'est simplement un fichier qui demande "Puis-je avoir un certificat avec ces informations pour mon site s'il vous plaît".
Création du certificat
Agissant à nouveau en tant qu'autorité de certification, c'est à vous de décider si la personne qui vous a envoyé la RSE est authentique et ne prétend pas être quelqu'un d'autre. Les vraies autorités ont leur propre façon de le faire, mais comme vous êtes, je l'espère, tout à fait sûr de vous, votre vérification devrait être assez certaine :)
Vous pouvez cliquer sur continuer dans les autres options.
L'application Mail s'ouvrira pour vous permettre d'envoyer le certificat. Au lieu d'envoyer un e-mail, faites un clic droit dessus et enregistrez-le.
Installation du certificat
Nous devons maintenant configurer le serveur pour utiliser le certificat que nous venons de créer pour son trafic SSL.
Configuration des appareils
Chaque appareil sur lequel vous devez installer des applications devra avoir une copie de cette autorité de certification afin qu'ils sachent qu'ils peuvent faire confiance aux certificats SSL de cette autorité
Tester
Assurez-vous que vos liens plist sont https
la source
Certificate Authority
certificat et non le certificat SSL auto-signé car j'ai par erreur installé initialementJe peux confirmer que cela fonctionne, mais vous devez mettre html ET plist sur dropbox. Cela fonctionne également pour l'OTA non-entreprise, c'est-à-dire que vous souhaitez partager l'application avec votre développeur. équipe.
J'ai fait:
a) sur mon site j'ai fait une page avec ce lien:
.. href = "https://dl.dropboxusercontent.com/u//(votre identifiant de base de données) /ipa.html"> MyApp
b) sur DropBox j'ai écrit une autre page HTML:
.. https://dl.dropboxusercontent.com/u/(votre identifiant de base de données) /MyApp.plist "> Appuyez pour installer MyApp
c) déplacé plist sur DropBox mais en le laissant POINT sur mon ancien serveur (pas de https)
la source
Ouvrez le terminal et exécutez la commande: curl -i https: // (le chemin du fichier .ipa n'est pas plist)
Cela vous indiquera si l'installateur peut voir ou non le fichier IPA. Si vous exécutez la commande curl avec le '-i', vous verrez la réponse complète et ce n'est probablement pas le fichier IPA. C'est la réponse que le programme d'installation voit, donc s'il ne renvoie pas HTTP 200 et une IPA, vous devrez le renvoyer de votre côté.
Le programme d'installation ITMS n'enregistre aucun contexte depuis Safari. Si vous vous êtes authentifié dans un portail sécurisé dans Safari, les cookies d'authentification ne sont pas transmis au programme d'installation. c'est-à-dire que le programme d'installation doit pouvoir voir l'application sans authentification et cela pourrait être la raison pour laquelle vous obtenez «Impossible de se connecter au serveur».
la source
J'ai eu le même problème et j'ai fait comme mentionné ci-dessus.
Les deux pages ont fonctionné avec succès pour installer l'application sur les iPhone avec iOS 7.1
Mais, maintenant, les iphones avec ios 7.0x ne peuvent pas installer l'application.
J'ai créé une nouvelle question: déploiement de l'application adhoc mis à niveau ne fonctionne pas sur iOS antérieur à 7.1
Les deux questions sont étroitement liées et également liées par le manque de références officielles.
la source
Un gars sympa a géré le problème en utilisant le certificat StartSSL de classe 1 et la configuration Apache partagée qui ajoute la prise en charge des certificats (fonctionnera avec n'importe quel certificat) et le code pour changer automatiquement les liens dans les fichiers * .plist existants. Trop long à copier, voici donc le lien: http://cases.azoft.com/how-to-fix-certificate-is-not-valid-error-on-ios-7/
la source
S'il vous arrive d'avoir AWS S3 qui fonctionne aussi comme un charme. Bien. Relativement parlant :-)
Créez un compartiment pour vos documents publicitaires dans AWS, ajoutez un fichier d'index (il peut simplement s'agir d'un fichier index.html vierge) puis utilisez un client qui peut se connecter à S3 comme CyberDuck ou Coda (j'ai utilisé Coda - où vous sélectionnez Ajouter Site pour obtenir une fenêtre de connexion), puis définissez les connexions comme ci-joint:
Créez ensuite votre entreprise ad hoc dans XCode et assurez-vous d'utiliser https://s3.amazonaws.com/your-bucket-name/your-ad-hoc-folder/your-app.ipa comme URL d'application et téléchargez-le dans votre nouveau répertoire de compartiment S3.
Votre lien itms doit correspondre, c'est-à-dire itms-services: //? Action = download-manifest & url = https://s3.amazonaws.com/your-bucket-name/your-ad-hoc-folder/your-app.plist
Et voilá.
Ce n'est que pour les URL AWS génériques - je n'ai pas essayé avec des URL personnalisées sur AWS, vous devrez peut-être faire quelques choses différemment.
J'étais déterminé à essayer de faire fonctionner la solution de James Webster ci-dessus, mais je ne pouvais pas la faire fonctionner avec Plesk.
la source
Au lieu d'utiliser Dropbox pour la distribution d'entreprise, vous pouvez utiliser TestFlight pour la distribution d'applications signées d'entreprise.
https://www.testflightapp.com/
Il s'agit d'un service fantastique pour l'hébergement et la distribution des versions de développement ad hoc ET des versions d'entreprise.
la source
En plus des réponses précédentes à propos de Dropbox, j'ai implémenté l'arborescence de fichiers suivante telle que seul le fichier PLIST doit être téléchargé sur Dropbox:
utilisez l'option "Partager le lien avec Dropbox" qui copie le lien dans votre presse-papiers. Ce lien doit être copié dans votre fichier html dans la requête de l'URL itms-servivces après avoir changé la pièce
www.dropbox.com
pardl.dropboxusercontent.com
. Remarque J'ai URL encodé le lien comme suggéré par @Mike mais je ne teste pas sans le faire. Maintenant, la requête de l'URL itms-services devrait ressembler à ceci:itms-services://?action=download-manifest&url=https%3A%2F%2Fdl.dropboxusercontent.com%2Fs%2FYourShortDropboxLink.plist
téléchargez le fichier html sur votre serveur en http. Notez que le fichier html contient à la fois des liens vers des fichiers ipa et d'approvisionnement.
À partir de maintenant, seul le fichier ipa doit être modifié pour fournir les prochaines versions d'application par OTA à vos bêta-testeurs. Jusqu'à ce qu'Apple modifie encore les règles de sécurité.
Je me joins ici après le très simple fichier HTML que j'utilise:
la source
Notre équipe utilise dropbox pour une distribution ad hoc qui utilise https mais notre application n'a toujours pas été installée. Après de nombreux dépannages, nous avons réalisé que le champ titre était également requis. Chaque fois que nous envoyions un lien sans ce champ, safari ignorait le lien et n'invitait pas l'utilisateur à installer. Parfois, pour des tests de développement rapides, nous sautions le nœud de titre dans le xml et ne le remplissions pas. Dans le cas où cela est utile pour toute personne ayant ce problème, assurez-vous que votre .plist contient les nœuds suivants remplis:
la source
Après avoir lu ce post, j'avais toujours un problème avec le téléchargement de mon application. Le problème était dû au certificat SSL auto-signé.
J'ai trouvé une solution à ce problème. Vous devez télécharger votre fichier de certificat avec l'extension «.crt» sur le Web et saisir l'adresse de celui-ci dans votre safari mobile. Le système vous demande d'ajouter votre certificat à la liste des certificats approuvés. Après cette opération, vous pourrez installer votre application ad-hoc.
la source
La solution universelle consiste à connecter votre appareil au Mac et à observer ce qui se passe lors de l'installation. J'ai une erreur:
Il y avait même la suggestion dans cette erreur de vérifier les paramètres de date. Pour une raison quelconque, la date était le 1er janvier 1970. La définition d'une date correcte a résolu le problème.
la source
Apter a essayé de passer
itms-services://?action=download-manifest&url=http://....
àitms-services://?action=download-manifest&url=https://....
. Cela ne peut pas non plus fonctionner. L'alerte estcannot connect to my domain
. Je découvre que j'ai aussi besoin de mettre à jour la page Web.Le problème ne vient pas de l'URL principale étant HTTPS, mais d'une partie du code HTML dans un lien dans la page. Vous aurez besoin de vos développeurs pour mettre à jour la page Web. J'ai également remarqué qu'il n'y a pas de certificat SSL valide sur votre domaine de transfert, vous devrez donc en installer un ou utiliser Dropbox et voici le lien qui peut vous être utile
la source