Info.plist अपलोड त्रुटि में CFBundleVersion


108

"आपके द्वारा अपलोड किया गया द्विआधारी अमान्य था। Info.plist फ़ाइल में कुंजी CFBundleVersion पहले अपलोड किए गए संस्करण की तुलना में एक उच्च संस्करण होना चाहिए।"

जब मैं अपना एप्लिकेशन अपलोड करने आता हूं तो मुझे यह त्रुटि आ रही है।

मैंने आईट्यून्स कनेक्ट पर 1.2 के लिए अद्यतन संस्करण सेट किया है और .plistफ़ाइल को 1.2 पर भी अपडेट किया है ।

मुझे समझ नहीं आ रहा है कि मुझे यह त्रुटि क्यों हो रही है। किसी भी सहायता की सराहना की जाएगी। धन्यवाद।


क्यों नहीं, कोशिश करो और इसे, 1.2.1 पर सेट करें?
निकिता रायबाक

मैंने कई संयोजनों की कोशिश की है। कोई काम नहीं। वह त्रुटि सामने आती रहती है।
एडम एच।

1
और पहले से अपलोड किया गया संस्करण (जैसा कि वर्तमान में शिपिंग एप्लिकेशन के Info.plist में पाया गया है) क्या है?
कॉस्टयूम

क्या आपने इस मुद्दे को हल किया है? वही समस्या मुझे अचानक हुई। यह निराशाजनक है।
वेन लो

मुझे इस त्रुटि के साथ एक ईमेल मिला और यह पता चला कि मेरा एक पुराना बिल्ड, जो आईटीसी में पिछले सप्ताह के लिए "प्रोसेसिंग" के रूप में अटका हुआ था, को आखिरकार संसाधित किया गया। जब यह पहली बार अटक गया तो मैंने एक और बिल्ड को एक वृद्धि की गई बिल्ड संख्या के साथ फिर से जमा कर दिया, इसलिए जब पुराने को अंततः संसाधित किया गया तो यह त्रुटि को ट्रिगर करता है।
blwinters

जवाबों:


210

Apple के अपलोड सर्वर में कम से कम 1 ज्ञात बग है जो उन्होंने 12 महीनों से अधिक समय से तय नहीं किया है। इससे सावधान रहने वाली बातें:

  1. Apple संस्करण संख्या के अंदर किसी भी अग्रणी शून्य को हटाता है; यानी "पूरे स्ट्रिंग" को नंबर के रूप में नहीं माना जाता है, इसके बजाय डॉट्स के बीच बिट्स को SEPARATE नंबर के रूप में माना जाता है। उदाहरण के लिए "1.02" को Apple द्वारा "1.2" के रूप में माना जाता है। तो, Apple के लिए, 1.02 GREATER THAN 1.1 है
  2. Apple कभी-कभी "भ्रमित" हो जाता है और आपके अपलोड किए गए ऐप की तुलना उस DIFFERENT ऐप के संस्करण से करने लगता है, जिसे आपने पहले अपलोड किया है। यह बहुत से लोगों के साथ हुआ है, और मैंने इसे खुद कुछ बार देखा है
  3. Apple "CFBundleVersion" की तुलना करने वाला है (अर्थात "बंडल संस्करण" "बंडल संस्करण स्ट्रिंग नहीं, लघु"); मत मिलाओ।
  4. अक्सर, एकमात्र व्यवहार्य समाधान सामने की संख्या (उदाहरण के लिए "2" को "2.4" में टक्कर देना है - इसे "3" तक बढ़ाएं)
  5. आपके द्वारा अपलोड किया गया संस्करण क्रमांक iTunes में दिखाई देने वाले संस्करण संख्या से असंबंधित है - आप वहां अपनी इच्छानुसार कुछ भी रख सकते हैं, और यही वह है जो आपके उपयोगकर्ता देखेंगे।
  6. ... इसके अलावा, यदि आप अपने ऐप के अंदर "वास्तविक" संस्करण संख्या भी रिपोर्ट करते हैं, तो उपयोगकर्ता iTunes संस्करण के बजाय CFBundleVersion (आमतौर पर, यह निर्भर करता है कि आप इसे कैसे कोड करते हैं) देखेंगे, (जो मुझे लगता है - से एक्सेस नहीं किया जा सकता है आपके ऐप के अंदर)

1
CFBundleVersion क्या xcode 4.5 में "बिल्ड" लेबल है, और "संस्करण" नहीं है! संस्करण Info.plist फ़ाइल में "CFBundleShortVersionString" लेबल समाप्त होता है। तो, वास्तव में आपको पहले की तुलना में बिल्ड के लिए एक उच्च मूल्य की आपूर्ति करने की आवश्यकता है।
रिकजेनसेन

+1 मददगार। मैंने 1.02अपने पिछले संस्करण के लिए उपयोग किया । और, इस उत्तर का उपयोग करके इसे ठीक करें। धन्यवाद।
प्रवीणकुमार

इस उत्तर FAQको ऐप स्टोर में ऐप सबमिट करने के तरीके पर जोड़ा जाना चाहिए । :))
दिनयात

@ एडडम: जैसा कि मैंने पढ़ा है CFBundleShortVersionStringऔर आपके द्वारा आईट्यून्स कनेक्ट में दिए गए संस्करण संख्या से मेल खाना चाहिए। इसका मतलब है कि यदि आप अपने उपयोग किए गए ऐप में अपना संस्करण नंबर दिखाते हैं CFBundleShortVersionString। यह CFBundleVersionभी बढ़ाया जाना चाहिए और यह निर्धारित करने के लिए एक ऐप्पल का उपयोग होता है कि क्या आप अपने ऐप का अपडेटेड संस्करण सबमिट कर रहे हैं।
परीक्षण

Apple ने हाल ही में NON बैकवर्ड संगत तरीके से उनके सभी स्ट्रिंग्स का मतलब बदल दिया है।
एडम

28

बिल्ड नंबर अपडेट करें। संस्करण संख्या महत्वपूर्ण है, लेकिन बिल्ड संख्या सभी अंतर बनाती है। उदाहरण के लिए मेरे पास एक ऐप का अपना प्रारंभिक संस्करण था:

version #: 1.0
build #:   1.0

हालाँकि जब मैंने अगला संस्करण अपलोड करने की कोशिश की, यानी

version #: 1.1
build #:   1.0

यह अपलोड को स्वीकार नहीं करेगा। बस बिल्ड से इंक्रीमेंट करके # 1.1 से अपलोड को स्वीकार कर लिया गया।


परफेक्ट ... बिल्ड बदलना # मेरे लिए था, जो बहुत अच्छा है क्योंकि मैं वास्तव में अपने बंडल संस्करण और आईट्यून्स संस्करण को सिंक में रखना चाहता था।
एरोन हेमैन

9

Xcode 4 आपको लगता है कि यदि आप एप्लिकेशन को पुन: संग्रह नहीं करते हैं तो आप उसी संस्करण को फिर से अपलोड करना चाहेंगे। यहां तक ​​कि अगर आप बंडल संस्करण बदलते हैं और पुनर्निर्माण करते हैं, तो अपलोड विफल हो जाएगा। उत्पाद मेनू में एक " पुरालेख " करना याद रखें !


7

यहाँ जवाबों में से कई ने आखिरकार मेरी मदद की लेकिन जब तक कि मैंने ऐप्पल की तुलना की थी, "सटीक" संस्करण नहीं देखा।

  1. ITunes Connect पर जाएं -> अपने एप्लिकेशन प्रबंधित करें
  2. उस एप्लिकेशन को चुनें जिसे आप पिछले संस्करण की जांच करना चाहते हैं
  3. ब्लू बटन पर क्लिक करें देखें विवरण
  4. बाइनरी विवरण लेबल वाले लिंक पर क्लिक करें
  5. बंडल संस्करण के लिए दिए गए मूल्य का पता लगाएं

हालांकि मुझे लगा कि मैंने संस्करण संख्या 1.0.1 प्रस्तुत की है, Apple द्वारा संग्रहीत वास्तविक संख्या 101 थी। ऊपर दिए गए कुछ टिप्पणियों ने मुझे विश्वास दिलाया कि मुझे अपना संस्करण 2.0 (20) या 1.5 (15) या 1.2 (12) में बदलने की आवश्यकता है ) -आप सभी 101 से कम हैं जैसा कि आप देख सकते हैं। मेरे संस्करण की संख्या 102 (डॉट्स के बिना) को अद्यतन करते हुए समस्या को ठीक कर दिया।


6

यह लेख बताता है कि ऐप-स्टोर में देखा गया संस्करण संख्या आवश्यक रूप से बंडल संस्करण संख्या के समान नहीं है। जब आप iTunes में अपने ऐप का विवरण देखते हैं, तो एक लिंक होता है, जिसका नाम 'बाइनरी विवरण' होता है। वह पृष्ठ बंडल संस्करण दिखाता है। जिन ऐप्स पर मैं काम कर रहा था, उनमें से एक संस्करण 1.0 पर था, लेकिन यह बंडल संस्करण 2.0 था। संस्करण 1.1 के साथ एक बंडल अपलोड करना विफल रहा, लेकिन 2.1 ने काम किया।

तो, एक ऐप संस्करण और एक बंडल संस्करण है। इस समस्या को बंडल संस्करण के साथ करना है।


5

ऐसा लगता है कि भ्रम की संख्या संख्या के कारण होती है। बंडल संस्करण एक दशमलव नहीं है। यह एक संस्करण है (या शायद निर्माण) तो 1.11 वास्तव में "एक बिंदु ग्यारह" है। 1. 1.11 1.2 से अधिक है। मुझे इस मामले में 1.20 का उपयोग करके सफलता मिली।


4

आमतौर पर, यह संस्करण संख्या की अनुपस्थिति के कारण हो सकता है। इसलिए, आइडेंटिटी के तहत वर्जन नंबर जोड़ें, और बिल्ड नंबर भी जांचें।

यहां छवि विवरण दर्ज करें

कोडिंग रखें ......... :)


3

मेरे लिए (Xcode 4.5) बिल्ड नंबर बदलने से समस्या हल हो गई। संस्करणों को 1.0.2 ... 2.0.2 आदि पर सेट करें फिर बिल्ड # को बढ़ाएं (एडम 3 पॉइंट मुझे एक आइडिया दें जहां देखो)।


2

आपको आईट्यून्स कनेक्ट में लॉग इन करने में सक्षम होना चाहिए और ऐप के वर्तमान संस्करण को देखना चाहिए (आपके द्वारा सबमिट किए गए लेकिन लाइव नहीं हैं सहित)। यह सुनिश्चित करने के लिए जांचें कि आपने पिछले संस्करण को उच्चतर (या समान) संस्करण संख्या के साथ प्रस्तुत नहीं किया है।


यह भ्रामक है; Apple केवल iTunesConnect संस्करण के खिलाफ तुलना नहीं करता है। अधिक सटीक उत्तर के लिए cf पीटर का उत्तर नीचे दिया गया है।
एडम

@ अब (2014-05) के अनुसार, Apple वास्तव में आपके iOS ऐप के आंतरिक संस्करण संख्या (ओं) की तुलना iTunesConport संस्करण संख्या से करता है। यदि बेमेल हो, तो आपको यह चेतावनी संदेश मिलता है (त्रुटि नहीं): Version Mismatch - Neither CFBundleVersion ['201405030503'] nor CFBundleShortVersionString ['201405030503'] in the Info.plist match the version of the app set in iTunes Connect ['1.0.0'].लेकिन यह iTunesConnect- तुलना इस प्रश्न में समस्या का कारण नहीं है। आईट्यून्सकनेक्ट-तुलना एक मात्र चेतावनी है, न कि दिखावे की त्रुटि।
बेसिल बोर्के

2

मैंने इस मुद्दे को सुलझाने के लिए कुछ घंटे बिताए। मैंने यह सुनिश्चित करने के लिए अपनी पूरी क्षमता के साथ जाँच की है कि CFBundleVersion वास्तव में पुराने संस्करण की तुलना में अधिक था, जानकारी खोलकर। एक पाठ संपादक पर जानकारी प्राप्त करें, लक्ष्य की जानकारी प्राप्त करें और गुणों पर संस्करण पढ़ें, मेरी पत्नी से संस्करण पढ़ने के लिए कहा पुष्टि करने के लिए iTunes पर मैं एक अप्रत्याशित पहले अल्जाइमर की चपेट में नहीं आया।

अंत में, यह किसी तरह चाल चली गई। मेरा पुराना संस्करण 1.0.4 था। मैंने 1.3.5, 1.4.5 आदि की कोशिश की; किसी ने काम नहीं किया। लेकिन पर्याप्त आश्चर्य की बात है, जब मैंने 2.0.0 में प्रवेश किया, तो एप्लीकेशन लोडर को पसंद आया और इसे अपलोड किया। क्या यह एप्लिकेशन लोडर में बग के कारण है?


2

Xcode4 में संस्करण संख्या के आगे के टारगेट सारांश में एक बिल्ड है, मैंने इसे 1 पर शुरू किया था, मैं हर बार एक द्विआधारी अपलोड करने के लिए वेतन वृद्धि करता हूं, इससे मेरे लिए समस्या हल हो गई


यह मेरी समस्या भी थी, त्रुटि संदेश बहुत भ्रामक है!
mj662

मुझे भी यह समस्या थी। यह अविश्वसनीय रूप से निराशाजनक है कि संदेश बहुत भ्रामक है। मेरी दोपहर का बेहतर हिस्सा बर्बाद कर दिया। उपयोगी उत्तर के लिए धन्यवाद।
जोएल अनायर

2

यदि रिपोर्ट की गई त्रुटि CFBundleVersion है तो आमतौर पर फिक्सिंग बहुत आसान है। इसे जांचें / आज़माएँ:

  1. प्रोजेक्ट नेविगेटर में शीर्ष स्तर के प्रोजेक्ट आइटम पर जाएं और उस पर क्लिक करें।
  2. पैनल में सिर्फ एप्लिकेशन लक्ष्य पर दाईं ओर क्लिक करें।
  3. सारांश टैब पर क्लिक करें।

सारांश टैब पर आप देखेंगे कि दो अलग-अलग "संस्करण" हैं जिन्हें समायोजित किया जा सकता है। पहला एक "संस्करण" फ़ील्ड है, जिसका उपयोग मैक ऐप्स के लिए डिफ़ॉल्ट "अबाउट" स्क्रीन में किया जाता है। दाईं ओर वाला "बिल्ड वर्जन" है। यह वही है जो ऐप स्टोर सबमिशन के लिए वास्तव में मायने रखता है!


2

मुझे पता है कि यह एक पुराना सवाल है, लेकिन मैं सिर्फ इस मुद्दे में भाग गया। मैंने संग्रह से परियोजना को हटाकर इसे हल किया, फिर इसे पुनः संग्रहित किया। जाहिरा तौर पर ऐप का पिछला संस्करण वहां बैठा था और भ्रम पैदा कर रहा था।


2

त्रुटि संदेश पर ध्यान दें।

त्रुटि संदेश में वर्ग कोष्ठक (जैसे [9]) में पिछले बंडल संख्या होती है।

इस प्रकार आपको उस बंडल संख्या (जैसे 9.1) को बढ़ाना होगा, हालांकि आपका नया संस्करण नंबर 1.2 है

इसलिए जब आप आईट्यून्स में 1.1 से 1.2 तक के संस्करण को अपडेट करते हैं, तो आपको अपने प्रोजेक्ट में इन मूल्यों को सेट करने की आवश्यकता होती है

Version number = 1.2
Bundle number = [previous bundle number]++

2
नोट: यदि आप सुनिश्चित नहीं हैं कि अपलोड किए गए अंतिम संस्करण के लिए बंडल # क्या था, तो पुराने संस्करण पर क्लिक करें और बाइनरी विवरण (लिंक के तहत) देखें। आपको "बंडल संस्करण: #" देखना चाहिए
नथानिएल ब्लमर

1

मेरी परियोजना में मेरे पास एक आईफोन और एक आईपैड संस्करण है, आईपैड के लिए infoplist किसी कारण के लिए आईपैड उत्पाद से जुड़ा नहीं था, लक्ष्य की सदस्यता की जांच करना और इसे सही उत्पाद के साथ जोड़ना मेरे लिए इस मुद्दे को हल करता है।



1

मैंने 'वर्जन' और 'बिल्ड' नं को इंटरचेंज करके गलती की।

संस्करण क्षेत्र में 2.3 डालने के बजाय, मैंने इसे बिल्ड नं में डाल दिया।


1

यहाँ बताया गया है कि मैंने समस्या को कैसे ठीक किया (और मैं अनुमान लगा रहा हूं कि यह बहुत सारे लोगों के साथ समस्या है):

1) अपनी प्रोजेक्ट सेटिंग्स के सामान्य टैब पर क्लिक करें (जिसे आपके प्रोजेक्ट के नाम पर क्लिक करके एक्सेस किया जा सकता है जो सभी कोड फाइलों में सबसे ऊपर है)।

2) "बंडल संस्करण" कुंजी के लिए अपनी फ़ील्ड में आपके द्वारा लगाए गए बिल्ड फ़ील्ड से मेल खाना सुनिश्चित करें।

यह मेरे लिए समस्या थी, जो भी कारण वे सिंक से बाहर थे। मुझे लगता है कि जब आप बुंडलर संस्करण की कुंजी बदलते हैं तो इसे सिंक करना चाहिए (और इसके विपरीत)। लेकिन यह किसी भी कारण से नहीं हुआ - बग हो सकता है।


1

मुझे भी यही समस्या थी और ऐसा इसलिए हुआ क्योंकि मैंने संग्रह नहीं किया था और मैं पहले संग्रह का उपयोग कर रहा था जिसका उपयोग मैंने 1.0 के लिए किया था, लेकिन 1.0.1 के साथ। इसलिए मैंने iOS डिवाइस का चयन किया, संग्रहीत किया और फिर सत्यापन किया। ता-दा, यह काम कर गया!


इसके बजाय एक टिप्पणी होनी चाहिए।
नमस्ते वर्ल्ड

0

मुझे भी यही समस्या थी। मूल रूप से मेरा पिछला संस्करण १.१२ था, मैं इसे १.२ में बदलना चाहता था, लेकिन इसमें त्रुटि थी। मैंने 1.20 की कोशिश की और यह सही काम नहीं किया


दूसरा नंबर 0 और 9 के बीच होना चाहिए, इसलिए 12 "बहुत बड़ा है"
JOM

1
"दूसरा नंबर" (मुझे इसे मामूली संस्करण संख्या कहते हैं, सिर्फ मनोरंजन के लिए) कोई भी पूर्णांक हो सकता है, इसके लिए कोई सीमा नहीं है; तो 12या 20सही मामूली संस्करण संख्या है।
होलेक्स

0

जब तक मैं अपने ipa फ़ाइल को अपलोड करने के लिए Apple के "एप्लीकेशन लोडर" का उपयोग कर रहा था, तब तक लगातार बढ़ते वर्जन नंबरों का कोई सेट काम नहीं करता था, लेकिन अगर मैंने XCode के "ऑर्गनाइज़र" का उपयोग किया (संस्करण 3.2.5 में "विंडो" पुल-डाउन के तहत पाया गया) , "मान्य ..." बटन पर क्लिक किया, इसके लिए मुझे अनुमोदित करने के लिए प्रतीक्षा की, फिर "सबमिट करें ..." बटन पर क्लिक करें, सब कुछ एक समझदार संस्करण संख्या (जो कि वर्तमान में एक एकल वेतन वृद्धि है) के साथ अपेक्षित था अप्प स्टोर पर उपलब्ध)।


0

xcode 4.2 में ऐसा लगता है कि यदि आप info.plist फ़ाइल से संशोधित करते हैं तो बंडल संस्करण को पंजीकृत नहीं करते हैं। मैंने अपना नया बंडल संस्करण सीधे xcode पैनल "जानकारी" में सेट किया और अब यह काम करता है!


0

मुझे एक और उपाय मिला।

यदि आप अपना लक्ष्य चुनते हैं >> जानकारी >> बंडल आईडी अपडेट करें।


0

मुझे भी यही समस्या थी। पहले प्रस्तुत संस्करण 1.5.20 था और 1.7.30 तक अद्यतन करना चाहता था।

1.8, 2.0 और 3.0 के असफल संस्करणों के बाद, मैंने अपने CFBundleVersion को 10.0 में अद्यतन किया और अचानक यह काम कर गया।

मुझे यकीन नहीं है कि इस व्यवहार के पीछे का तर्क क्या है, लेकिन इसने मुझे लगभग 2 दिन का समय बर्बाद कर दिया।


0

पहले से अपलोड किए गए संस्करण के अपने बंडल संस्करण की जांच करें, आपको पहले से अपलोड किए गए संस्करण के बंडल संस्करण की तुलना में उच्च बंडल संस्करण देना चाहिए। पहले से अपलोड किए गए संस्करण को itunesconnect / एप्लिकेशन / दृश्य विवरण / बाइनरी विवरण द्वारा देखा जा सकता है।


0

मैंने एक ही मुद्दे पर दो रातें बिताई हैं। मेरा पिछला संस्करण 1.02 था, और मैंने 1.2, 1.20, 1.1 के साथ सत्यापन करने की कोशिश की और मुझे हमेशा अमान्य बाइनरी संदेश मिला।

मैंने संस्करण संख्या के रूप में 2.0 दर्ज करके इसे हल किया, और यह काम किया । मुझे संदेह है कि यह एक बग भी है। हाल ही में 1.0 से 1.1 तक मेरे गेम को अपग्रेड करते समय मुझे यह संदेश नहीं मिला, लेकिन यह xcode 3 के साथ था। टिप के लिए धन्यवाद!


0

मुझे इसी तरह की समस्या थी और आधे घंटे बिताने के बाद मैंने देखा कि मैं गलत संख्या बढ़ा रहा था। बढ़ने के बजाय Bundle versionमैं Bundleversions, string, shortInfo.plist में बढ़ रहा था । CMD + Shift + F का उपयोग करके अपनी परियोजना में "CFBundleVersion" खोजें। आप देखेंगे कि आपको CFBundleVersion संख्या बढ़ाने की आवश्यकता है।


0

संस्करण बदलने की कोशिश करें = "1.1.1.0" संस्करण के लिए = "1.1.1"


0

अक्टूबर के अंत में Apple को संस्करण संख्या 4 अंक (1.2.3 या 1.23 से कम 1.2.3.4 या 1.234 के विपरीत) की आवश्यकता होती है। यह पुस्तकालयों पर भी लागू होता है!

अपनी परियोजना निर्देशिका में आपत्तिजनक संस्करण संख्या के लिए एक त्वरित grep को बंद पुस्तकालय को चालू करना चाहिए:

grep -r "1.2.3.4" .


0

मेरे पास एक सक्रिय TestFlight बीटा चल रहा था। 2020 का निर्माण , संस्करण 407

मैंने आधिकारिक ऐप स्टोर समीक्षा के लिए एक ऐप सबमिट किया है । 2020 का निर्माण , संस्करण 435 का निर्माण करें, और इसे अनुमोदित किया गया था। यह सिर्फ वहां बैठा है, मुझे ऐप स्टोर में इसे लाइव करने के लिए इंतजार कर रहा है।

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

इसलिए, मैंने TestFlight को बिल्ड 2020 , संस्करण 436 जमा किया और इसे अस्वीकार कर दिया गया।

इसे अस्वीकार कर दिया गया क्योंकि मेरे पास एक ही बिल्ड नंबर के साथ एक अनुमोदित आधिकारिक ऐप-स्टोर उम्मीदवार है

समाधान: अपने TestFlight संस्करण की बिल्ड संख्या बदलें। मैंने TestFlight में बिल्ड 20200 (मैंने एक अतिरिक्त शून्य जोड़ा) संस्करण 436 जमा किया, और इसे मंजूरी दी गई। चिंता न करें, आप अभी भी इस निर्माण को उसी TestFlight बीटा समूह में धकेल सकते हैं, जब तक आप अभी भी एक ही बंडल का उपयोग कर रहे हैं।

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