IOS 8 पर एंटरप्राइज ऐप अपडेट डिस्ट्रीब्यूशन


111

मेरे पास एक एंटरप्राइज़ ऐप है जिसे मैं एक itmsURL के माध्यम से वितरित कर रहा हूं :

itms-services://?action=download-manifest&url=itms-services://?action=download-manifest&url=https://$MY_PLIST_URL.plist

IOS 7 पर, डाउनलोड और अपडेट दोनों ठीक काम करते हैं। IOS 8 पर, हालांकि, मुझे त्रुटि मिलती है:

LoadExternalDownloadManifestOperation: Ignore manifest download, already have bundleID: com.mycom.MyApp

मेरी अभिलाषा में, मेरे पास है

<key>bundle-identifier</key>
<string>com.mycom.MyApp</string>
<key>bundle-version</key>
<string>0.2.2</string>

और iOS 8 पर मेरे ऐप पर, मैं 0.2.1 संस्करण चला रहा हूं


1
IOS8 का कौन सा संस्करण आप चला रहे हैं मैंने बीटा 5 के साथ इस तरह के मुद्दों वाले लोगों के बारे में सुना है।
अनिल नाथ

7
ठीक वैसी ही समस्या। iOS 8 GM। ये ऐप अभी डाउनलोड करने से मना करते हैं।
कार्ल सोजोग्रीन

3
मैं अब आधिकारिक ios8.0 जारी कर रहा हूं और स्थापना शुरू नहीं होगी। मैंने वाणिज्य दूतावास पर एक नज़र डाली और एक संदेश कहा: "<चेतावनी>: LoadExternalDownloadManifestOperation: मैनिफ़ेस्ट डाउनलोड को नज़रअंदाज़ करें, पहले से ही बंडल है: MYBUNDLENAME" ... डिवाइस को पुनर्स्थापित करना या बंडल आईडी को बदलना चाल होगा
user2387149


1
@ pcperini मुझे लगता है कि अन्य पोस्ट के उत्तर में अधिक जानकारी है। कोई अपराध नहीं।
क्रिस्टोफर जॉनसन

जवाबों:


91

मैंने अपने ऐप वितरण के साथ भी इस समस्या का सामना किया है। हम अपने वितरण को डाउनलोड करने के लिए उपयोग करने वाले .plist के अंदर बंडल आइडेंटिफायर को 'फेकिंग' करके इस मुद्दे को ठीक करने में सक्षम थे, हमारे आईपीए बंडल आइडेंटिफायर को समान रखते हुए।

उदाहरण के लिए, आपकी मुट्ठी में:

<key>bundle-identifier</key>
<string>com.mycom.MyApp</string>
<key>bundle-version</key>
<string>0.2.2</string>

com.mycom.MyApp को com.mycom.MyApp.ios8fix में बदलें

ऐप एक नए ऐप आइकन का उपयोग करके इंस्टॉल किया जाएगा, जो इंस्टॉल होने के बाद गायब हो जाएगा।

यदि आपके पास पहले से ऐप इंस्टॉल है, तो आपको इंस्टॉल के दौरान एक नया ऐप आइकन भी दिखाई देगा। इंस्टॉलेशन के बाद यह आइकन गायब हो जाता है, लेकिन ऐप का आपका पहले से मौजूद वर्जन अपडेट हो जाएगा। एक साफ इंस्टॉल के साथ इंस्टॉलेशन आइकन गायब हो जाएगा और स्थापित एप्लिकेशन आइकन जगह में दिखाई देगा।

ऐसा लगता है कि आईओएस 8 बंडल पहचानकर्ताओं को कैशिंग कर रहा है और इन कैश्ड वाले अनुरोधित इंस्टॉल्स की तुलना करता है। अधिकांश बार आप केवल एक पॉपअप को इंस्टॉल करने के लिए पूछेंगे, लेकिन ऐसा कुछ नहीं होता है।

जैसा कि शॉन ने पहले ही देखा था, यह xCode 6 GM और आधिकारिक iOS 8 संस्करण के साथ दिखाई देता है। जो डिवाइस आपके एप्लिकेशन को पहले कभी इंस्टॉल नहीं करते हैं उन्हें ऐप इंस्टॉल करने में कोई समस्या नहीं होगी।


3
यह कुछ उपकरणों पर काम करता है, लेकिन कुछ अन्य ने अभी भी पिछली बंडल आईडी दिखाते हुए syslog को हटा दिया है, यहां तक ​​कि मैंने plist फ़ाइल भी बदल दी है।
मंदिर

वास्तव में चित्र प्रदान करना सही समाधान है - इस उत्तर को देखें stackoverflow.com/a/26283611/276656
mspasov

3
मेरे मामले में बंडल-पहचानकर्ता को बदलने से कुछ उपकरणों पर काम किया गया - सभी नहीं। रास्ते को बदलने के बाद अपने आप को मेरे लिए हल कर दिया।
पावी

1
यदि आप Xcode सर्वर से ऐप डाउनलोड कर रहे हैं तो .plist को संपादित करना कहां है?
कॉलिन

1
यह जवाब stackoverflow.com/a/28727958/108040 ने हमारे लिए बेहतर काम किया क्योंकि आपको .plist को बदलना नहीं है
रॉबिन

24

इसने मेरे लिए बेहतर काम किया, आपके प्रकट या अन्य चाल-चलन को छूने की कोई आवश्यकता नहीं है (Xcode सर्वर के लिए एकदम सही है जहाँ plistऑटो-जेनरेट होता है):

  1. डाउनलोड iExplorer ( http://www.macroplant.com/iexplorer/ )
  2. अपना उपकरण प्लग करें
  3. "मीडिया> डाउनलोड" में सभी फाइलें हटाएं
  4. डिवाइस को पुनरारंभ करें

यह डिवाइस कैश को रीसेट करता है, अब आप अपने ऐप को हमेशा की तरह इंस्टॉल कर सकते हैं।


3
धन्यवाद, आप एक जीवन रक्षक हैं। मैं iBrowse ( ibrowseapp.com ) का उपयोग करता हूं, जो मैक्रोप्लांट से मुक्त है
मिन सो

2
इसने हमारे लिए बहुत अच्छा काम किया ... मीडिया की सामग्री हटाने के बाद डिवाइस को पुनः आरंभ करने के लिए मत भूलना -> डाउनलोड
रॉबिन

धन्यवाद काम किया! लेकिन फिर भी यह सोचकर कि यह प्रत्येक उपयोगकर्ता के फोन पर किए जाने की आवश्यकता है!
अम्मार मुजीब

क्या "सभी सामग्री और सेटिंग्स मिटाएं" (सेटिंग ऐप के तहत) काम करती है?
onmyway133

डाउनलोड फ़ोल्डर की सामग्री क्या है?
हमज़ा गाज़ौनी

16

मुझे भी यही समस्या हो रही है। मैंने इसे पुन: प्रस्तुत किया:

1) iOS 7 से iOS 8 GM में अपग्रेड करते समय मेरा एप्लिकेशन इंस्टॉल होना

2) इसे iOS 8 में रिमूव करना

3) इट्स-सर्विसेज के जरिए इसे इंस्टॉल करने की कोशिश: एक ही बंडल नाम के साथ

जब मैंने सर्वर-प्लिस्ट में बंडल-आइडेंटिफ़ायर को बदलने की कोशिश की थी (एप्लिकेशन Info.plist में नहीं), तो यह काम किया (एप्लिकेशन डाउनलोड किया गया था कोई "छाया" आइकन नहीं रहा)। लेकिन यह एक सेब के बग जैसा दिखता है।


1
लेकिन आपको ऐप में बंडल नाम भी बदलना होगा, है ना? मैंने केवल सर्वर प्लिस्ट को बदलने की कोशिश की है और परिणाम है: Sep 18 09:59:20 XXX-iPhone filecoordinationd [123] <चेतावनी>: सैंडबॉक्सिंग ने श्रेणी com.mo2o.XXX (बंडल आईडी कॉम .apple.iaptransportd) पर प्रगति के लिए सदस्यता से इनकार कर दिया। , 037BE63A-8737-4A4B-9C9D-B8FAF8DC0D40) Sep 18 09:59:20 XXX-iPhone filecoordinationd [123] <चेतावनी>: sandboxing ने श्रेणी com.mo2o.XXX (बंडल आईडी) (null), 0B9D3B2A पर प्रगति के लिए सदस्यता से इनकार कर दिया। 2B5D-4882-8771-61784326E507) और ऐप इंस्टॉल नहीं होता है
ईवा मादराज़ो

एमएमएम मैं सही नहीं हूं, यह चेतावनी लॉग करता है, लेकिन यह ऐप भी इंस्टॉल करता है।
ईवा मादराज़ो

यह ठीक काम करता है, हालांकि एक छोटी सी खामी है। इंस्टॉलेशन के दौरान डिवाइस को यह पता नहीं होता है कि आप किस ऐप को अपडेट कर रहे हैं, इसलिए आपको इंस्टॉलेशन के दौरान दूसरा ऐप आइकन दिखाई देगा। स्थापित करने के बाद यह स्वचालित रूप से ठीक हो जाता है।
इवो ​​जांस्च

4
वर्थ ध्यान में रखते हुए कि बुलडोजर के लेख में यह कहा गया है कि "ऐसा लगता है कि जिन उपकरणों में डेवलपर प्रमाणपत्र स्थापित है वे प्रभावित नहीं होते हैं"। स्पष्ट नहीं है कि 'डेवलपर प्रमाणपत्र' से क्या अभिप्राय है (मुझे लगता है कि एक विकास प्रावधान प्रोफ़ाइल है कि प्रश्न में एप्लिकेशन को 'कवर' करता है), लेकिन यह विभिन्न उपकरणों पर समस्या को पुन: उत्पन्न करने वाली समस्याओं की व्याख्या कर सकता है।
एस्ट्रोलाॅक

11

स्वीकृत समाधान अब iOS9 पर काम नहीं करता है।

मेरी समझ यह है कि ऐप्पल ने ऐप स्टोर से डाउनलोड किए गए स्टॉक ऐप या ऐप को बदलने से एडहॉक बायनेरिज़ को रोककर एक गंभीर आईओएस सुरक्षा छेद बंद कर दिया है। पृष्ठभूमि के लिए यह लेख देखें (CVE-2015-3722 / 3725 और CVE-2015-3725):

https://www.fireeye.com/blog/threat-research/2015/06/three_new_masqueatt.html

सुरक्षा निहितार्थों को देखते हुए, मैं इस व्यवहार को भविष्य के IOS संस्करणों में बदलने की उम्मीद नहीं करूंगा। वैकल्पिक विकल्प प्रतीत होते हैं:

  • एडहॉक स्थापित करने से पहले ऐप स्टोर संस्करण को हटा दें
  • ऐप और डिस्ट्रीब्यूशन प्लिस्ट दोनों में बंडल आईडी बदलकर 'नए' ऐप के रूप में एडहॉक वितरित करें
  • TestFlight का उपयोग करें

लगता है आप ठीक कह रहे हैं। यह ऐप के पिछले एडहॉक संस्करण को ताज़ा इंस्टॉल या अपडेट करने पर ठीक काम करता है, लेकिन ऐप स्टोर से इंस्टॉल किए गए संस्करण को इंस्टॉल करने पर यह काम नहीं करता है।
charles

यहाँ एक और संकेत दिया गया है कि Apple ने बदलाव क्यों किया: loopinsight.com/2015/10/05/…
Frans

जब मैं सुरक्षा को बंद करने की आवश्यकता को समझता हूं, तो यह हमें एक दिलचस्प परिदृश्य में डालता है, जहां हम टेस्टफ़लाइट में जाने के बिना तैनात किए गए संस्करण पर एक संस्करण से दूसरे संस्करण में उन्नयन का परीक्षण नहीं कर सकते। ऐसा लगता है कि उसी डेवलपर के लिए एक एड-हॉक प्रोफ़ाइल और प्रमाण पत्र द्वारा हस्ताक्षरित एक ऐप को अपग्रेड करने में सक्षम होना चाहिए।
lidsinker

@charles char "यह ताजा इंस्टॉल पर ठीक काम करता है या ऐप के पिछले एडहॉक संस्करण को अपडेट करता है", क्या आपने इसका परीक्षण किया है? क्योंकि हम IOS9 में इस एडहॉक अपडेट एडहॉक मुद्दे का सामना करते हैं .....
फ्लाईपिग

@flypig मैंने उस समय iOS 9 पर इसे आजमाया था, और इसने काम किया। मैंने तब से कोशिश नहीं की है, क्षमा करें।
charles

9

गिल ने जो कहा वह सही प्रतीत होता है, लेकिन विशेष रूप से, मैंने पाया कि मुझे सर्वर-बंडल में बंडल-वर्जन स्ट्रिंग को बढ़ाने की भी आवश्यकता थी:

    <key>bundle-version</key>
    <string>3.2.2</string>

यह कम से कम आपको एक ओटीए इंस्टॉल पूरा करने की अनुमति देता है।

(क्षमा करें ... टिप्पणी में जोड़ा जाएगा, लेकिन मैं बहुत ज्यादा n00b हूं।)


9

इस उत्तर और इस उत्तर पर एक नज़र डालें

आप बिना किसी हैक के इस समस्या को ठीक कर सकते हैं, iOS8 के लिए आपको assetsमैनिफ़ेस्ट .plistफ़ाइल की कुंजी display-imageऔर में शामिल करना होगाfull-size-image कुंजी कुंजियों को शामिल करना होगा। एंटरप्राइज़ और ऐड-हॉक परिनियोजन के लिए संग्रह सहेजते समय वे Xcode 5 में उपलब्ध थे, लेकिन आवश्यक नहीं थे।

मैंने स्थापित-मैनिफ़ेस्ट.प्लिस्ट फ़ाइल के लिए टेम्पलेट के साथ जीथब पर एक जिस्ट बनाया है।


7
मैं वास्तव में उन दोनों कुंजियों के साथ इस समस्या का सामना कर रहा था।
सीन दान्ज़ीज़र

फिर मैंने बंडल पहचानकर्ता को बदल दिया और यह काम कर गया। इसके बारे में रोमांचित नहीं।
सीन दान्ज़ीज़र

महान! मैं सब कुछ एक सबफ़ोल्डर में स्थानांतरित कर रहा हूं और केवल ip5 फ़ाइल के MD5 को समायोजित कर रहा हूं।
फेलिप FMMobile

3

यह बग पहली बार iOS8 Beta5 में मिला था। और यह अभी भी जीएम बीज और आधिकारिक iOS8.0 संस्करण में Apple द्वारा तय नहीं किया गया था। अधिक चर्चाएँ मिल सकती हैं हैं

स्वयं द्वारा परीक्षण किया जा रहा वर्तमान वर्कअराउंड:

  • यदि आप अपने डिवाइस में सामग्री की परवाह नहीं करते हैं: डिवाइस के DFU मोड में एक स्वच्छ पुनर्स्थापना करें
  • अगर आप अपनी चीजों को वापस चाहते हैं
    1. आईओएस में अपने iOS डिवाइस को पुनर्स्थापित करने से पहले (एड-हॉक / एंटरप्राइज़ ऐप के बिना) बैकअप लें
    2. अपने डिवाइस को सफाई से बहाल करने के बाद, अपना एड-हॉक / एंटरप्राइज ऐप इंस्टॉल करें
    3. ITunes से अपने बैकअप को पुनर्स्थापित करें
    4. अब आप उन Ad-Hoc / एंटरप्राइज़ ऐप्स को हटाने और उन्हें पुनः इंस्टॉल करने के लिए स्वतंत्र हैं।

1
अभी भी 8.1 में तय नहीं है
केविन

2
अभी भी 8.2 में तय नहीं किया गया है। ....... हो सकता है कि दुनिया में सिर्फ हम 15 व्यक्ति ही एंटरप्राइज एप बनाते हों।
कार्ल हेनज ब्रीमे आर्मडोंडो

3

बंडल में पहचानकर्ता को बदलकर समस्या हल की गई।

आम तौर पर, इट्स लिंक को टैप करने के बाद, यह डेस्कटॉप को दिखाएगा जो आइकन इंस्टॉलेशन दिखाता है। हालाँकि, मेरे iOS 8.0 डिवाइस के लिए, itms लिंक को टैप करने के बाद, यह इंस्टॉलेशन पेज में नहीं बदलेगा लेकिन इंस्टालेशन पहले से ही काम कर रहा है।


2

यह चरम है, लेकिन अगर आप अपने बंडल पहचानकर्ता को नहीं बदल सकते हैं, जो कि मैं आपके आईफोन को आईओएस 8 के माध्यम से नवीनतम आईओएस 8 में पुनर्स्थापित नहीं कर सकता और बैकअप से समस्या को हल करता हूं।


आपको iPhone पुनर्स्थापित नहीं करना चाहिए - बस कुछ ही कदम updraft.beekeeper.io/post/2046721
सर्गेई कोपेनव

1

IOS 10 बीटा 1 पर समान समस्या मौजूद है।

Dec 31 19:01:32 iphone-6s itunesstored [98]: LoadExternalDownloadManifestOperation: मैनिफ़ेस्ट डाउनलोड को अनदेखा करें, पहले से ही बंडल है: com। ***************। चरण के साथ IOS: SSDownloadPhaseWaiting।

एक बात जो मुझे यहाँ समझ नहीं आ रही है वह यह कि XCode डिवाइस लॉग में तारीख 31 दिसंबर है, हालाँकि, डिवाइस की सही तिथि और समय कॉन्फ़िगर है।

अपडेट: हॉकी से दोस्तों ने Apple को WWDC के दौरान इस समस्या के बारे में सूचित किया और अगले सीड में फिक्स आना चाहिए।


1
iOS 10 पर वही समस्या
क्रॉस सॉन्ग

0

यदि आप एक बिल्ड स्क्रिप्ट के साथ अपने iOS ऐप का निर्माण करते हैं और आप पहले थे-सिग्नल फ्लैग के साथ PackageApplication का उपयोग कर रहे थे, तो यह समस्या पैदा कर सकता है। 10.10 पर निर्माण करते समय - sign झंडा किसी भी तरह से काम नहीं करता है और इसे हटाने से हमारे सभी iOS ऐप फिर से इंस्टॉल हो जाते हैं।

देखें: https://devforums.apple.com/thread/251624?tstart=0


यह एक अलग मुद्दे को संबोधित कर रहा है और इमारत से संबंधित है, और स्थापित नहीं है, जैसा कि ओपी पूछ रहा है।
वॉटल

मैं असहमत हूं। बी 5 में एक व्यवहार परिवर्तन शुरू किया गया था जिसके कारण हस्ताक्षरित आईपीएएस लोड करने में विफल रहे। मान लें कि ओपी को अपनी मैनिफ़ेस्ट फ़ाइल में कोई त्रुटि नहीं है, तो एक हस्ताक्षरित आईपीए वास्तव में प्रदान की गई त्रुटि के साथ स्थापित करने में विफल होने की गारंटी है। चूंकि वे उल्लेख नहीं करते हैं कि उन्होंने कैसे अपना आईपीए बनाया है, मैं यह नहीं कह सकता कि यह असफल क्यों है। दूसरी ओर हमारे IPAs से sigs को हटाने से उन सभी को फिर से स्थापित किया गया।
जेम्स मूर

यह सच हो सकता है, लेकिन अगर आप मूल प्रश्न में निर्दिष्ट त्रुटि को देखते हैं: "मैनिफ़ेस्ट डाउनलोड को अनदेखा करें, पहले से ही बंडल है:", यह स्पष्ट रूप से एंटरप्राइज़ ऐप्स पर अब व्यापक रूप से चर्चा की गई iOS8 बग से संबंधित है और एक ऐप इंस्टॉल करने में असमर्थता जिसे iOS8 में अपग्रेड करने से पहले इंस्टॉल किया गया था, फिर iOS8 में अपग्रेड करने के बाद अनइंस्टॉल किया गया। आप किसी समस्या को संबोधित कर रहे होंगे, लेकिन यह वह समस्या नहीं है जो ओपी को हो रही है।
wottle

0

सुनिश्चित करें कि आपके पास पूर्ण इंटरनेट का उपयोग है।

मैं OTA स्थापना और IOS8 के साथ समान समस्या का सामना कर रहा था। क्योंकि मैं एक कॉर्पोरेट प्रॉक्सी के पीछे हूँ, ऊपर दिए गए समाधान तब तक काम नहीं करते जब तक कि मैं उस समस्या को हल करने के लिए मैन्युअल प्रॉक्सी सेटिंग्स (IOS7 में आवश्यक नहीं) सेट कर देता।


0

मैं सिर्फ 8.1 पर चलने वाले डिवाइस पर इस समस्या का सामना कर चुका हूं, डिवाइस को 8.3 में अपग्रेड करने से समस्या हल हो गई है। इसलिए या तो बग अब 8.3 में मौजूद नहीं है .... या उन्नयन के कार्य ने वैसे भी कैश्ड डेटा को मंजूरी दे दी।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.