Ich habe eine Unternehmens-App, die ich über eine itms
URL verteile :
itms-services://?action=download-manifest&url=itms-services://?action=download-manifest&url=https://$MY_PLIST_URL.plist
Unter iOS 7 funktionieren sowohl Downloads als auch Updates einwandfrei. Unter iOS 8 erhalte ich jedoch den Fehler:
LoadExternalDownloadManifestOperation: Ignore manifest download, already have bundleID: com.mycom.MyApp
In meiner Liste habe ich
<key>bundle-identifier</key>
<string>com.mycom.MyApp</string>
<key>bundle-version</key>
<string>0.2.2</string>
und auf meiner App unter iOS 8 verwende ich Version 0.2.1
ios
xcode
ios8
enterprise-distribution
Patrick Perini
quelle
quelle
Antworten:
Ich habe dieses Problem auch bei unserer App-Distribution festgestellt. Wir konnten dieses Problem beheben, indem wir die Bundle-ID in der .plist für die Download-Verteilung vortäuschten und dabei unsere ipa-Bundle-ID beibehalten.
Zum Beispiel in Ihrer Liste:
Ändern Sie com.mycom.MyApp in com.mycom.MyApp.ios8fix
Die App wird mithilfe eines neuen App-Symbols installiert, das nach der Installation verschwindet.
Wenn Sie die App bereits installiert haben, wird während der Installation sogar ein neues App-Symbol angezeigt. Nach der Installation verschwindet dieses Symbol, aber Ihre bereits vorhandene Version der App wird aktualisiert. Bei einer Neuinstallation verschwindet das Installationssymbol und das Symbol für die installierte Anwendung wird angezeigt.
Es sieht so aus, als würde iOS 8 die Bundle-IDs zwischenspeichern und die angeforderten Installationen mit diesen zwischengespeicherten Installationen vergleichen. In den meisten Fällen wird nur ein Popup angezeigt, in dem Sie nach der Installation gefragt werden, aber es passiert nichts.
Wie Sean bereits bemerkt hat, erscheint dies mit xCode 6 GM und der offiziellen iOS 8-Version. Geräte, die Ihre Anwendung noch nie zuvor installiert haben, können die App problemlos installieren.
quelle
Dies funktionierte besser für mich, ohne dass Sie Ihr Manifest oder andere Tricks berühren müssen (perfekt für Xcode Server, wo das
plist
automatisch generiert wird):Dadurch werden die Geräte-Caches zurückgesetzt. Jetzt können Sie Ihre App wie gewohnt installieren.
quelle
Ich habe das gleiche Problem. Ich habe es reproduziert von:
1) Installation meiner Anwendung während des Upgrades von iOS 7 auf iOS 8 GM
2) Entfernen in iOS 8
3) Versuch, es über itms-services zu installieren: mit demselben Bundle-Namen
Als ich versuchte, die Bundle-ID in der Serverliste zu ändern (nicht in der Info.plist der Anwendung), funktionierte dies (die Anwendung wurde heruntergeladen und es blieb kein "Schatten" -Symbol übrig). Aber es sieht aus wie ein Apfelkäfer.
quelle
Die akzeptierte Lösung funktioniert unter iOS9 nicht mehr.
Meines Wissens nach hat Apple eine ernsthafte Sicherheitslücke für iOS geschlossen, indem verhindert wurde, dass Ad-hoc-Binärdateien Standard-Apps oder Apps ersetzen, die aus dem App Store heruntergeladen wurden. Hintergrundinformationen finden Sie in diesem Artikel (CVE-2015-3722 / 3725 und CVE-2015-3725):
https://www.fireeye.com/blog/threat-research/2015/06/three_new_masqueatt.html
Angesichts der Auswirkungen auf die Sicherheit würde ich nicht erwarten, dass sich dieses Verhalten in zukünftigen IOS-Versionen ändert. Alternative Optionen scheinen zu sein:
quelle
Was Gil sagte, scheint richtig zu sein, aber genauer gesagt, ich musste auch die Zeichenfolge für die Bundle-Version in der server.plist erhöhen:
Auf diese Weise können Sie zumindest eine OTA-Installation durchführen.
(Sorry ... Hätte Kommentare hinzugefügt, aber ich bin zu sehr ein n00b.)
quelle
Schauen Sie sich diese Antwort und diese Antwort an .
Sie können ohne Hacks dieses Problem beheben, für iOS8 Sie in der müssen umfassen
assets
Schlüssel des Manifests.plist
Datei diedisplay-image
undfull-size-image
Tasten. Sie waren in Xcode 5 verfügbar, als ein Archiv für die Unternehmens- und Add-hoc-Bereitstellung gespeichert wurde, waren jedoch nicht erforderlich.Ich habe einen Gist auf Github mit der Vorlage für die Datei install-manifestet.plist erstellt.
quelle
Dies ist ein Fehler, der erstmals in iOS8 Beta5 gefunden wurde. Und es wurde immer noch nicht von Apple in GM Seed und der offiziellen iOS8.0-Version behoben. Weitere Diskussionen finden Sie hier
Die aktuelle Problemumgehung, die ich selbst getestet habe:
quelle
Problem gelöst durch Ändern der Bündelkennung in plist.
Normalerweise wird nach dem Tippen auf den itms-Link der Desktop angezeigt, auf dem die Symbolinstallation angezeigt wird. Bei meinem iOS 8.0-Gerät wird jedoch nach dem Tippen auf den itms-Link nicht zur Installationsseite gewechselt, sondern die Installation funktioniert bereits.
quelle
Dies ist extrem, aber wenn Sie Ihre Bundle-ID nicht ändern können, was ich nicht konnte, wird das Problem durch Wiederherstellen Ihres iPhones über iTunes auf das neueste iOS 8 und Wiederherstellen aus einem Backup behoben.
quelle
Das gleiche Problem besteht unter iOS 10 Beta 1.
Eine Sache, die ich hier nicht verstehe, ist, dass das Datum im XCode-Geräteprotokoll der 31. Dezember ist. Für das Gerät sind jedoch Datum und Uhrzeit korrekt konfiguriert.
Update: Leute von HockeyApp haben Apple während des WWDC über dieses Problem informiert und das Problem sollte im nächsten Seed behoben werden.
quelle
Wenn Sie Ihre iOS-Apps mit einem Build-Skript erstellen und zuvor PackageApplication mit dem Flag --sign verwendet haben, kann dies zu Problemen führen. Das Flag --sign funktioniert nicht mehr, wenn Sie auf 10.10 aufbauen und es entfernen. Alle unsere iOS-Apps werden erneut installiert.
Siehe: https://devforums.apple.com/thread/251624?tstart=0
quelle
Stellen Sie sicher, dass Sie einen vollständigen Internetzugang haben.
Ich hatte das gleiche Problem mit der OTA-Installation und IOS8. Da ich hinter einem Unternehmens-Proxy stehe, haben die oben genannten Lösungen erst funktioniert, als ich manuelle Proxy-Einstellungen festgelegt habe (in IOS7 nicht erforderlich), um dieses Problem zu lösen.
quelle
Ich habe dieses Problem gerade auf einem Gerät mit 8.1 festgestellt. Durch ein Upgrade des Geräts auf 8.3 wurde das Problem behoben. Entweder ist der Fehler in 8.3 nicht mehr vorhanden ... oder durch das Aktualisieren wurden die zwischengespeicherten Daten ohnehin gelöscht.
quelle