Wir verteilen Apps über ein Enterprise-Konto unter Verwendung einer itms-services://
URL. Dies hat immer gut funktioniert, aber nach der Installation der iOS 7.1 Beta auf unserem iPad wird die Installation abgelehnt. Stattdessen erhalten wir nur die allgemeine Cannot connect to example.com
Meldung, dass iOS nicht hilfreich angezeigt wird, wenn beim Herunterladen der App Probleme auftreten.
Ich konnte hier auf SO, bei Google oder in den Versionshinweisen zu 7.1 nichts finden, was darauf hindeutet, was das Problem verursachen könnte.
ios
deployment
Mark Parnell
quelle
quelle
Antworten:
Ich habe das Problem festgestellt, indem ich das iPad an den Computer angeschlossen und die Konsole über den XCode Organizer angezeigt habe, während ich versucht habe, die App zu installieren. Der Fehler stellt sich heraus als:
Es stellt sich heraus, dass in iOS 7.1 die URL für die
manifest.plist
Datei HTTPS sein muss, wo wir HTTP verwendet haben. Durch Ändern der URL in HTTPS wurde das Problem behoben.Dh
wird
Ich würde davon ausgehen, dass Sie ein gültiges SSL-Zertifikat für die betreffende Domain benötigen. Wir haben es bereits getan, aber ich würde mir vorstellen, dass Sie Probleme ohne es haben werden.
quelle
ingconti ist richtig.
www.dropbox.com
mitdl.dropboxusercontent.com
in der Verbindung, wie https://dl.dropboxusercontent.com/s/qgknrfngaxazm38/app.plistdownload.html
Datei mit einem Link, der als formatiert ist<a href="itms-services://?action=download-manifest&url=https://dl.dropboxusercontent.com/s/qgknrfngaxazm38/app.plist">INSTALL!!</a>
download.html
Dropbox hochwww.dropbox.com
mitdl.dropboxusercontent.com
in der zweiten Verbindung als auch, wie https://dl.dropboxusercontent.com/s/gnoctp7n9g0l3hx/download.htmlBesuchen
https://dl.dropboxusercontent.com/s/gnoctp7n9g0l3hx/download.html
Sie jetzt in Ihrem Gerät, können Sie die App wie zuvor installieren.WAS FÜR EINE WUNDERVOLLE WELT!
quelle
Neben der Antwort von Mark Parnell besteht eine schnelle und schmutzige Möglichkeit, dies zu umgehen, darin, die Manifest-Liste in Dropbox abzulegen und dann über die Dropbox-Weboberfläche einen direkten https-Link zu ihr zu erhalten ('Link teilen' -> ' Link abrufen '->' Download ').
Die tatsächliche IPA kann dort bleiben, wo Sie sie immer serviert haben. Sie müssen die URL der Plist per URL codieren, bevor Sie sie in die Abfrage der itms-servivces-URL einfügen (obwohl das Ersetzen von & s durch% 3D möglicherweise funktioniert).
Ein Nachteil ist, dass im Installationsdialog nun "dl.dropbox.com möchte [was auch immer] installieren" angezeigt wird.
quelle
Es ist wahr, dass Sie in Zukunft voraussichtlich alle OTA-Bereitstellungen über https in Zukunft mit iOS7.1 durchführen werden. Schade, dass Apple dies nicht dokumentiert hat.
Für diejenigen unter Ihnen, die nach einer besseren internen Lösung suchen, als sich auf Dropbox zu verlassen oder Bargeld für ein Zertifikat ausgeben zu müssen, können Sie eine Lösung finden, wenn Sie die in Tipp 5 beschriebenen Schritte hier befolgen: http: // blog. httpwatch.com/2013/12/12/five-tips-for-using-self-signed-ssl-certificates-with-ios/
Das Wesentliche dabei ist:
Dies ist nicht dasselbe wie nur ein selbstsigniertes Zertifikat. In dieser Lösung fungieren Sie auch als Ihre eigene private Zertifizierungsstelle. Wenn Ihr auf Ihrem Apple-Gerät installiertes Stammzertifikat nicht als vertrauenswürdig (grün) markiert ist, stimmt etwas nicht. Mach es nochmal.
Das funktioniert absolut.
Update: 13.03.2014 - Ich habe ein kleines Befehlszeilenprogramm bereitgestellt, das diesen gesamten Prozess vereinfacht. Sie erhalten es unter: https://github.com/deckarep/EasyCert/releases
quelle
Ich hatte das gleiche Problem und obwohl ich bereits einen SSL-Server verwendete, funktionierte das einfache Ändern der Links zu https nicht, da ein Problem zugrunde lag.
Klicken Sie hier für das Bild
Der markierte Bit sagte mir , dass ich sollte die Möglichkeit gegeben werden , um das Zertifikat zu vertrauen, aber da dies das App - Store, durch Safari arbeiten , dass die Erholung Vorschlag ist einfach nicht vorgestellt.
Ich war mit den vorhandenen Lösungen nicht zufrieden, weil:
Ich habe endlich eine Lösung gefunden, indem ich eine selbstsignierte Stammzertifizierungsstelle erstellt und damit das SSL-Zertifikat unseres Servers generiert habe.
Ich habe Keychain Access und OSX Server verwendet, aber für jeden Schritt gibt es andere gültige Lösungen
Erstellen einer Zertifizierungsstelle
Soweit ich weiß, werden Zertifizierungsstellen verwendet, um die Echtheit der Zertifikate zu überprüfen. Da wir gerade eines selbst erstellen, ist es nicht gerade sicher , aber es bedeutet, dass Sie allen Zertifikaten einer bestimmten Behörde vertrauen können. Eine Liste dieser Berechtigungen ist normalerweise standardmäßig in Ihren Browsern enthalten, da diese tatsächlich vertrauenswürdig sind. (GeoTrust Global CA, Verisign usw.)
Generieren einer Zertifikatsignierungsanforderung
In unserem Fall werden Zertifikatsignierungsanforderungen vom Serveradministrator generiert. Es handelt sich lediglich um eine Datei mit der Frage "Kann ich bitte ein Zertifikat mit diesen Informationen für meine Website haben?".
Zertifikat erstellen
Wenn Sie wieder als Zertifizierungsstelle fungieren, liegt es an Ihnen, zu entscheiden, ob die Person, die Ihnen die CSR gesendet hat, echt ist und nicht vorgibt, jemand anderes zu sein. Echte Behörden haben ihre eigenen Methoden, aber da Sie hoffentlich ziemlich sicher sind, dass Sie Sie sind, sollte Ihre Überprüfung ziemlich sicher sein :)
Sie können durch die restlichen Optionen auf Weiter klicken.
Die Mail-App wird geöffnet und bietet Ihnen die Möglichkeit, das Zertifikat zu senden. Anstatt eine E-Mail zu senden, klicken Sie mit der rechten Maustaste darauf und speichern Sie sie.
Zertifikat installieren
Wir müssen jetzt den Server so einrichten, dass er das Zertifikat verwendet, das wir gerade für den SSL-Verkehr erstellt haben.
Geräte einrichten
Jedes Gerät, auf dem Sie Apps installieren müssen, muss über eine Kopie dieser Zertifizierungsstelle verfügen, damit sie wissen, dass sie SSL-Zertifikaten dieser Berechtigung vertrauen können
Prüfung
Stellen Sie sicher, dass Ihre Plist-Links https sind
quelle
Certificate Authority
und nicht das selbstsignierte SSL-Zertifikat ist, wie ich es ursprünglich fälschlicherweise installiert habeIch kann bestätigen, dass es funktioniert, aber Sie müssen HTML AND Plist auf Dropbox setzen. Es funktioniert auch für OTA außerhalb des Unternehmens, dh Sie möchten die App mit Ihrem Entwickler teilen. Mannschaft.
Ich tat:
a) Auf meiner Website habe ich eine Seite mit diesem Link erstellt:
.. href = "https://dl.dropboxusercontent.com/u//(Ihre DB-ID) /ipa.html"> MyApp
b) Auf DropBox habe ich eine weitere HTML-Seite geschrieben:
.. https://dl.dropboxusercontent.com/u/(Ihre DB-ID) /MyApp.plist "> Tippen Sie hier, um MyApp zu installieren
c) Plist auf DropBox verschoben, aber POINT auf meinem alten Server belassen (kein https)
quelle
Öffnen Sie das Terminal und führen Sie den folgenden Befehl aus: curl -i https: // (.ipa-Dateipfad nicht plist)
Hier erfahren Sie, ob das Installationsprogramm die IPA-Datei sehen kann. Wenn Sie den Befehl curl mit dem '-i' ausführen, wird die vollständige Antwort angezeigt, und es handelt sich wahrscheinlich nicht um die IPA-Datei. Dies ist die Antwort, die das Installationsprogramm sieht. Wenn also kein HTTP 200 und kein IPA zurückgegeben werden, müssen Sie es am Ende zurückgeben.
Das ITMS-Installationsprogramm speichert keinen Kontext aus Safari. Wenn Sie sich in Safari bei einem sicheren Portal authentifiziert haben, werden die Authentifizierungscookies nicht an das Installationsprogramm weitergegeben. Das Installationsprogramm muss in der Lage sein, die App ohne Authentifizierung anzuzeigen. Dies kann der Grund dafür sein, dass die Meldung "Keine Verbindung zum Server möglich" angezeigt wird.
quelle
Ich hatte die gleichen Probleme und tat wie oben erwähnt.
Beide Seiten funktionierten erfolgreich für die Installation der App in iPhones mit iOS 7.1
Aber jetzt können iPhones mit iOS 7.0x die App nicht installieren.
Ich habe eine neue Frage erstellt: Die aktualisierte Bereitstellung der Ad-hoc-App funktioniert auf iOS vor 7.1 nicht
Beide Themen sind eng miteinander verbunden und auch durch das Fehlen offizieller Referenzen verbunden.
quelle
Ein netter Kerl hat das Problem mithilfe des StartSSL-Zertifikats der Klasse 1 und der gemeinsam genutzten Apache-Konfiguration behoben, die Zertifikatsunterstützung (funktioniert mit jedem Zertifikat) und Code zum automatischen Ändern von Links in vorhandenen * .plist-Dateien hinzufügt. Das Kopieren ist zu lang, daher hier der Link: http://cases.azoft.com/how-to-fix-certificate-is-not-valid-error-on-ios-7/
quelle
Wenn Sie zufällig AWS S3 haben, funktioniert das auch wie ein Zauber. Gut. Relativ gesehen :-)
Erstellen Sie einen Bucket für Ihre Ad-hocs in AWS, fügen Sie eine Indexdatei hinzu (es kann sich nur um eine leere index.html-Datei handeln) und verwenden Sie dann einen Client, der eine Verbindung zu S3 wie CyberDuck oder Coda herstellen kann (ich habe Coda verwendet - wo Sie Hinzufügen auswählen würden Site, um ein Verbindungsfenster zu erhalten) und stellen Sie dann die Verbindungen wie folgt ein:
Erstellen Sie dann Ihr Unternehmen ad hoc in XCode und stellen Sie sicher, dass Sie https://s3.amazonaws.com/your-bucket-name/your-ad-hoc-folder/your-app.ipa als Anwendungs-URL verwenden, und laden Sie es hoch in Ihr neues S3-Bucket-Verzeichnis.
Ihr itms-Link sollte übereinstimmen, dh itms-services: //? Action = download-manifest & url = https://s3.amazonaws.com/your-bucket-name/your-ad-hoc-folder/your-app.plist
Und voilá.
Dies gilt nur für generische AWS-URLs. Ich habe es nicht mit benutzerdefinierten URLs in AWS versucht, daher müssen Sie möglicherweise einige Dinge anders ausführen.
Ich war entschlossen zu versuchen, James Websters Lösung über die Arbeit zu bringen, aber ich konnte sie nicht dazu bringen, mit Plesk zu funktionieren.
quelle
Alternativ zur Verwendung von Dropbox für die Unternehmensverteilung können Sie TestFlight für die Verteilung von von Unternehmen signierten Apps verwenden.
https://www.testflightapp.com/
Dies ist ein fantastischer Service für das Hosting und die Verteilung von Ad-hoc-Entwicklungs-Builds UND Enterprise-Builds.
quelle
Nach den vorherigen Antworten zu Dropbox habe ich den folgenden Dateibaum implementiert, sodass nur die PLIST-Datei in Dropbox hochgeladen werden muss:
Verwenden Sie die Option "Link mit Dropbox teilen", mit der der Link in Ihre Zwischenablage kopiert wird. Dieser Link muss in Ihre HTML-Datei in die Abfrage der itms-servivces-URL kopiert werden, nachdem das Teil
www.dropbox.com
um geändert wurdedl.dropboxusercontent.com
. Hinweis: Ich habe den Link per URL codiert, wie von @Mike vorgeschlagen, aber ich teste nicht, ohne dies zu tun. Jetzt sollte die Abfrage der itms-services-URL folgendermaßen aussehen:itms-services://?action=download-manifest&url=https%3A%2F%2Fdl.dropboxusercontent.com%2Fs%2FYourShortDropboxLink.plist
Laden Sie die HTML-Datei unter http auf Ihren Server hoch. Beachten Sie, dass die HTML-Datei sowohl Links zu IPA- als auch Bereitstellungsdateien enthält.
Ab sofort muss nur noch die ipa-Datei geändert werden, um Ihren Betatestern die nächsten App-Versionen von OTA bereitzustellen. Bis Apple die Sicherheitsregeln noch ändert.
Ich trete hier nach der sehr einfachen HTML-Datei bei, die ich verwende:
quelle
Unser Team verwendet Dropbox für die Ad-hoc-Verteilung, die https verwendet, aber unsere App konnte nicht installiert werden. Nach vieler Fehlersuche erkennen wir , dass das Titelfeld auch erforderlich ist. Wann immer wir einen Link ohne dieses Feld verschickten, ignorierte Safari den Link und forderte den Benutzer nicht zur Installation auf. Manchmal haben wir für schnelle Entwicklungstests den Titelknoten in der XML übersprungen und ihn nicht ausgefüllt. Falls dies für Personen mit diesem Problem hilfreich ist, stellen Sie sicher, dass Ihre .plist die folgenden Knoten enthält:
quelle
Nachdem ich diesen Beitrag gelesen hatte, hatte ich immer noch ein Problem beim Herunterladen meiner App. Das Problem lag am selbstsignierten SSL-Zertifikat.
Ich habe eine Lösung für dieses Problem gefunden. Sie müssen Ihre Zertifikatdatei mit der Erweiterung '.crt' im Web hochladen und die Adresse in Ihre mobile Safari eingeben. Das System fragt Sie, ob Sie Ihr Zertifikat zur Liste der vertrauenswürdigen Zertifikate hinzufügen möchten. Nach diesem Vorgang können Sie Ihre Ad-hoc-App installieren.
quelle
Die universelle Lösung besteht darin, Ihr Gerät an einen Mac anzuschließen und zu beobachten, was während der Installation vor sich geht. Ich habe eine Fehlermeldung erhalten:
In diesem Fehler war sogar der Vorschlag enthalten, die Datumseinstellungen zu überprüfen. Aus irgendeinem Grund war das Datum der 1. Januar 1970. Das Einstellen des richtigen Datums löste das Problem.
quelle
Apter versucht , ändern
itms-services://?action=download-manifest&url=http://....
zuitms-services://?action=download-manifest&url=https://....
. Es kann auch nicht funktionieren. Die Warnung istcannot connect to my domain
. Ich finde heraus, dass auch die Webseite aktualisiert werden muss.Das Problem ist nicht, dass die Haupt-URL HTTPS ist, sondern ein Teil des HTML-Codes in einem Link innerhalb der Seite. Sie benötigen Ihre Entwickler, um die Webseite zu aktualisieren. Ich habe auch festgestellt, dass in Ihrer Staging-Domäne kein gültiges SSL-Zertifikat vorhanden ist. Daher müssen Sie eines installieren oder Dropbox verwenden. Hier ist der Link, der möglicherweise für Sie hilfreich ist
quelle