Saya memiliki aplikasi perusahaan yang saya distribusikan melalui itms
URL:
itms-services://?action=download-manifest&url=itms-services://?action=download-manifest&url=https://$MY_PLIST_URL.plist
Di iOS 7, unduhan dan pembaruan berfungsi dengan baik. Namun, di iOS 8, saya mendapatkan error:
LoadExternalDownloadManifestOperation: Ignore manifest download, already have bundleID: com.mycom.MyApp
Dalam plist saya, saya punya
<key>bundle-identifier</key>
<string>com.mycom.MyApp</string>
<key>bundle-version</key>
<string>0.2.2</string>
dan di aplikasi saya di iOS 8, saya menjalankan versi 0.2.1
ios
xcode
ios8
enterprise-distribution
Patrick Perini
sumber
sumber
Jawaban:
Saya juga mengalami masalah ini dengan distribusi aplikasi kami. Kami dapat memperbaiki masalah ini dengan 'memalsukan' pengenal bundel di dalam .plist yang digunakan untuk distribusi unduhan, menjaga pengenal bundel ipa kami tetap sama.
Misalnya, di plist Anda:
ubah com.mycom.MyApp menjadi com.mycom.MyApp.ios8fix
Aplikasi akan dipasang menggunakan ikon aplikasi baru, yang akan hilang setelah pemasangan.
Jika Anda sudah menginstal aplikasi, Anda bahkan akan melihat ikon aplikasi baru saat menginstal. Setelah penginstalan, ikon ini menghilang, tetapi versi aplikasi Anda yang sudah ada akan diperbarui. Dengan penginstalan yang bersih, ikon penginstalan akan hilang dan ikon aplikasi yang diinstal akan muncul di tempatnya.
Sepertinya iOS 8 sedang menyimpan pengenal bundel dan membandingkan pemasangan yang diminta dengan yang disimpan dalam cache ini. Sebagian besar waktu Anda hanya akan melihat munculan yang meminta untuk menginstal, tetapi tidak ada yang terjadi.
Seperti yang sudah diperhatikan Sean, ini muncul dengan xCode 6 GM dan versi resmi iOS 8. Perangkat yang tidak pernah menginstal aplikasi Anda sebelumnya tidak akan mengalami masalah untuk menginstal aplikasi.
sumber
Ini bekerja lebih baik untuk saya, tidak perlu menyentuh manifes Anda atau tipuan lainnya (cocok untuk Server Xcode yang
plist
dibuat secara otomatis):Ini mengatur ulang cache perangkat, sekarang Anda dapat menginstal aplikasi Anda seperti biasa.
sumber
Saya mengalami masalah yang sama. Saya memperbanyaknya dengan:
1) Menginstal aplikasi saya saat meningkatkan dari iOS 7 ke iOS 8 GM
2) Menghapusnya di iOS 8
3) Mencoba menginstalnya melalui itms-services: dengan nama bundel yang sama
Ketika saya mencoba untuk mengubah bundle-identifier di server plist (bukan di aplikasi Info.plist), itu berhasil (aplikasi telah diunduh, tidak ada ikon "bayangan" yang tersisa). Tapi sepertinya serangga apel.
sumber
Solusi yang diterima tidak lagi berfungsi di iOS9.
Pemahaman saya adalah bahwa Apple telah menutup lubang keamanan iOS yang serius dengan mencegah adhoc binari mengganti aplikasi stok atau aplikasi yang diunduh dari App Store. Lihat artikel ini untuk latar belakang (CVE-2015-3722 / 3725 dan CVE-2015-3725):
https://www.fireeye.com/blog/threat-research/2015/06/three_new_masqueatt.html
Mengambil implikasi keamanan, saya tidak mengharapkan perilaku ini berubah di versi IOS mendatang. Pilihan alternatif tampaknya adalah:
sumber
Apa yang dikatakan Gil tampaknya benar, tetapi lebih khusus lagi, saya menemukan bahwa saya juga perlu menaikkan string versi bundel di server.plist:
Ini setidaknya memungkinkan Anda untuk menyelesaikan penginstalan OTA.
(Maaf ... Akan menambahkan ke komentar, tapi saya terlalu banyak n00b.)
sumber
Lihatlah jawaban ini dan jawaban ini .
Anda dapat memperbaiki masalah ini tanpa peretasan, untuk iOS8 Anda harus memasukkan
assets
kunci.plist
file manifesdisplay-image
danfull-size-image
kunci. Mereka tersedia di Xcode 5 saat menyimpan arsip untuk perusahaan dan penerapan add-hoc, tetapi tidak diperlukan.Saya telah membuat inti dari github dengan template untuk file install-manifet.plist .
sumber
Ini adalah bug yang pertama kali ditemukan di iOS8 Beta5. Dan itu masih belum diperbaiki oleh Apple di GM seed dan versi resmi iOS8.0. Diskusi lebih lanjut dapat ditemukan di sini
Solusi saat ini sedang diuji sendiri:
sumber
Masalah diselesaikan dengan mengubah pengenal bundel di plist.
Biasanya, setelah mengetuk tautan itms, itu akan menunjukkan desktop yang menunjukkan instalasi ikon. Namun, untuk perangkat iOS 8.0 saya, setelah mengetuk tautan itms, itu tidak akan berubah ke halaman instalasi tetapi penginstalan sudah berfungsi di belakang.
sumber
Ini ekstrem tetapi jika Anda tidak dapat mengubah pengenal bundel Anda, yang saya tidak bisa, memulihkan iPhone Anda melalui iTunes ke iOS 8 terbaru dan memulihkan dari cadangan memperbaiki masalah.
sumber
Masalah yang sama ada di iOS 10 beta 1.
Satu hal yang saya tidak mengerti di sini adalah bahwa tanggal 31 Desember di log perangkat XCode, bagaimanapun, perangkat memiliki tanggal dan waktu yang benar dikonfigurasi.
Pembaruan: Orang-orang dari HockeyApp memberi tahu Apple tentang masalah ini selama WWDC dan perbaikan harus datang di seed berikutnya.
sumber
Jika Anda membangun aplikasi iOS dengan skrip build dan sebelumnya menggunakan PackageApplication dengan tanda --sign, hal itu mungkin menyebabkan masalah. Bendera --sign tidak berfungsi lagi saat membangun di 10.10 dan menghapusnya membuat semua aplikasi iOS kami menginstal lagi.
lihat: https://devforums.apple.com/thread/251624?tstart=0
sumber
Pastikan Anda memiliki akses internet penuh.
Saya menghadapi masalah yang sama dengan instalasi OTA dan IOS8. Karena saya berada di belakang proxy perusahaan, solusi di atas tidak berfungsi sampai saya menetapkan pengaturan proxy manual (tidak diperlukan di IOS7) untuk menyelesaikan masalah itu.
sumber
Saya baru saja mengalami masalah ini pada perangkat yang menjalankan 8.1, memutakhirkan perangkat ke 8.3 telah menyelesaikan masalah. Jadi baik bug tersebut tidak lagi ada di 8.3 .... atau tindakan pemutakhiran tetap menghapus data yang di-cache.
sumber