ऐप स्टोर पर आवेदन के लिए कोई मान्य 'अप्स-एनवायरनमेंट' एंटाइटेलमेंट स्ट्रिंग नहीं मिला


103

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

Dec 4 17:55:15 इना-टच-इट कॉफको [1210]: दूरस्थ सूचनाओं के लिए पंजीकरण करना
Dec 4 17:55:15 इना-टच-इट स्प्रिंगबोर्ड [52]: कोई मान्य 'अप्स-एनवायरनमेंट' एंटाइटेलमेंट स्ट्रिंग आवेदन के लिए नहीं मिला। Pper ड्रॉपर ’: (अशक्त)। सूचनाएं वितरित नहीं की जाएंगी।
Dec 4 17:55:15 इना-टच-इट कॉफको [1210]<Warning>: Failed to register with error : Error Domain=NSCocoaErrorDomain Code=3000 "no valid 'aps-environment' entitlement string found for application" UserInfo=0x174270900 {NSLocalizedDescription=no valid 'aps-environment' entitlement string found for application}

मैं थोड़ा भ्रमित हूं क्योंकि मुझे लगा था कि प्रोडक्शन-एप एड-हॉक और ऐप स्टोर बिल्ड के बीच एक ही कार्य करेगा।

यहां मेरी ऐप आईडी और इसकी एंटाइटेलमेंट -> http://i.stack.imgur.com/uf4pB.png है

यहां ऐप्स स्टोर के लिए प्रोविज़निंग प्रोफाइल है -> http://i.stack.imgur.com/AYOV5.png


यहाँ यह हस्ताक्षरित और अपलोड किया जा रहा है -> i.stack.imgur.com/AziCI.png बिल्ड सेटिंग -> i.stack.imgur.com/j2TFG.png
Jessiah

जवाबों:


282

मैं पुश अधिसूचना क्षमता को सक्षम करके इस समस्या को ठीक करता हूं।

.Xcodeproj -> क्षमताएं -> पुश सूचना सक्षम करें पर क्लिक करें


15
XCode 8 में मुझे इस खंड में एक त्रुटि दिखाई दी जिसमें कहा गया है कि एंटाइटेलमेंट फ़ाइल को जोड़ने की आवश्यकता है। मैंने इसे ठीक करने के लिए इस पर क्लिक किया और फिर इसने ठीक काम किया।
पेलेट

केवल हाल ही में पॉप अप जब Xcode 8 में विकसित होना शुरू हुआ और इसने इसे ठीक किया। धन्यवाद!
कोडी आर।

पहले Xcode 7.3 पर काम कर रहा था लेकिन अचानक Xcode 8 पर रजिस्टर नहीं हो रहा था, लेकिन इसने पुश नोटिफिकेशन क्षमता को सक्षम करके मेरे मुद्दे को हल कर दिया।
विनोद राठौड़

Apple इस विकल्प को Xcode 8.1 के अंदर कहीं और छिपाने का फैसला करता है। कृपया मुझे बताएं कि क्या कोई इसे खोजने में सक्षम है।
थॉमस सेबस्टियन

मुझे क्षमताओं की सूची में "पुश अधिसूचना" विकल्प नहीं मिला। यह इस तथ्य के साथ कुछ करना था कि XCode स्वचालित रूप से मेरी प्रोविज़निंग प्रोफ़ाइल तैयार कर रहा था (मैं iOS देव के लिए नया हूं इसलिए मैं गलत हो सकता हूं ...)। क्षमताओं की सूची में पुश सूचनाएं प्रदर्शित करने से पहले मुझे अपने डेवलपर खाते में साइन इन करना होगा और मैन्युअल रूप से अपने ऐप के लिए एक प्रोविजनिंग प्रोफाइल बनाना होगा। अंत में, इसे सक्षम करने से यह समस्या ठीक हो गई।
मैक्स ममफोर्ड

103

मैंने इस मुद्दे को इस तरह तय किया:

  • Xcode "वरीयताएँ" पर जाएं
  • "खाते" टैब पर जाएं
  • मेरी Apple ID चुनें और "विवरण देखें" पर क्लिक करें
  • ताज़ा करने के लिए नीचे बाएँ कोने पर तीर पर क्लिक करें
  • "संपन्न" पर क्लिक करें

और फिर प्रयत्न करें!

स्रोत:


6
फिर आपको बिल्ड सेटिंग में सही प्रोविजनिंग प्रोफाइल का चयन करना चाहिए
हैशम अबोनाजमी

2
मेरे मामले में मुझे देव केंद्र में प्रोविजनिंग प्रोफाइल को फिर से बनाने की जरूरत थी। फिर सभी प्रोफाइल और प्रमाण पत्र फिर से Xcode के माध्यम से डाउनलोड करें> वरीयताएँ> खाते> आपका Apple ID> दाएं कोने में विवरण विवरण देखें> सभी बटन डाउनलोड करें। उसके बाद फिर से काम करना चाहिए।
लाठी

2
मुझे यह दुखद है कि धक्का और तैनाती की प्रक्रिया में बहुत सारे गड़बड़ हैं। एक ही तरीका है कि मैं इसमें से किसी को भी सहन कर सकता हूं, यह 100% सब कुछ मैन्युअल रूप से करना है, और पता है कि Xcode क्या करने का प्रयास कर रहा है, और किचेन पहचान को प्रबंधित करना और फ़ाइल सिस्टम पर और iPhone कॉन्फ़िगरेशन उपयोगिता के माध्यम से प्रोफाइल का प्रावधान करना है।
टॉम पेस

57

आपको लक्ष्य-> क्षमताएं-> पुश अधिसूचना को सक्षम करना होगा। मैंने Xcode 8 का उपयोग करके इस समस्या का सामना किया है।यहां छवि विवरण दर्ज करें


18

वर्तमान प्रोविज़निंग प्रोफाइल में APNS जानकारी नहीं होने के कारण ऐसी समस्याएँ हैं, क्योंकि प्रोविजनिंग प्रोफ़ाइल APNS प्रमाणपत्र बनाने से पहले बनाई गई है।

इसलिए, समस्या को हल करने के लिए, एक नया प्रावधान प्रोफ़ाइल बनाएं और Xcode में प्रावधान प्रोफ़ाइल का चयन करें। तब तुम हो गए।

इसके अलावा, जब आप पुश जोड़ते हैं, तो मेरा मानना ​​है कि आपने चाबी का गुच्छा में प्रमाण पत्र भी अपडेट कर दिया है।


प्रोफ़ाइल जो मैं उपयोग कर रहा हूं, मैं उत्पादन पुश एपन के लिए प्रमाण पत्र बनाने के बाद बनाया गया था। क्या ऐसा कुछ है जो मैं पुष्टि कर सकता हूं कि यह गायब है या इसमें एप्स की जानकारी है?
यशायाह 5:14

@ जेसेयाह: नहींं .. ऐसा लगता है कि हमें एप्पल द्वारा उपलब्ध कराए गए नक्शेकदम पर चलना है।
फहीम पारकर

6

Xcode 9 के बारे में, इस विशिष्ट मुद्दे को हल करने के लिए कुछ उत्तर पुराने या अपूर्ण हैं।

यहाँ मेरे लिए अनुसरण करने के चरण थे:

1. प्रोविजनिंग प्रोफाइल बनाएं

( एफसीएम पुश अधिसूचना के लिए एक शर्त नहीं है, लेकिन उनके गाइड आश्चर्यजनक रूप से स्पष्ट हैं, यहां लिंक दिया गया है )

विकास के दौरान अपने ऐप का परीक्षण करने के लिए, आपको अपने डिवाइस को एक ऐप चलाने के लिए अधिकृत करने के लिए डेवलपमेंट के लिए प्रोविजनिंग प्रोफाइल की आवश्यकता होती है जो ऐप स्टोर पर अभी तक प्रकाशित नहीं हुई है।

  1. Apple डेवलपर सदस्य केंद्र पर नेविगेट करें और साइन इन करें।
  2. प्रमाणपत्र, पहचानकर्ता और प्रोफाइल पर नेविगेट करें।
  3. शीर्ष बाएँ कोने पर ड्रॉप डाउन मेनू में, iOS, tvOS, watchOS का चयन करें यदि यह पहले से ही चयनित नहीं है, तो प्रोविजनिंग प्रोफाइल> सभी पर नेविगेट करें।
  4. एक नया प्रावधान प्रोफ़ाइल बनाने के लिए + बटन पर क्लिक करें।
  5. प्रोविजनिंग प्रोफाइल प्रकार के रूप में iOS ऐप डेवलपमेंट चुनें, फिर Continue पर क्लिक करें।
  6. ड्रॉप डाउन मेनू में, उस ऐप आईडी का चयन करें जिसका आप उपयोग करना चाहते हैं, फिर जारी रखें पर क्लिक करें।
  7. पिछले चरण में आपके द्वारा चुनी गई ऐप आईडी का आईओएस विकास प्रमाणपत्र चुनें, फिर जारी रखें पर क्लिक करें।
  8. प्रोविज़निंग प्रोफाइल में उन iOS उपकरणों का चयन करें जिन्हें आप शामिल करना चाहते हैं, फिर जारी रखें पर क्लिक करें। उन सभी उपकरणों का चयन करना सुनिश्चित करें जिन्हें आप अपने परीक्षण के लिए उपयोग करना चाहते हैं।
  9. इस प्रोविज़निंग प्रोफाइल के लिए एक नाम इनपुट करें (जैसे फ़ायरबेस सैंपल ऐप डेवलपमेंट प्रोफाइल), फिर जनरेट पर क्लिक करें।
  10. अपने मैक पर प्रोविजनिंग प्रोफाइल को बचाने के लिए डाउनलोड पर क्लिक करें।
  11. इसे स्थापित करने के लिए प्रोविजनिंग प्रोफाइल फ़ाइल पर डबल-क्लिक करें।

2. पुश अधिसूचना क्षमताओं को सक्रिय करें

  1. आधिकारिक मैनुअल से, परियोजना संपादक पर जाएं यहां छवि विवरण दर्ज करें
  2. क्षमताओं अनुभाग में, पुश अधिसूचना को सक्रिय करें यहां छवि विवरण दर्ज करें

4

मुझे iOS 8.0 और इसके बाद के संस्करणों का उपयोग करने में एक ही समस्या थी; मुझे उपकरण टोकन नहीं मिला और वह त्रुटि दे रहा था: "कोई वैध 'एप्स-एनवायरनमेंट' एंटाइटेलमेंट स्ट्रिंग फॉर एप्लिकेशन नहीं मिला"

मैंने नीचे दिए चरणों का उपयोग करके इसे ठीक किया

  • मैंने ऐप आईडी के लिए नई प्रोविजनिंग प्रोफ़ाइल बनाई है
  • इसे एक्सकोड में जोड़ा
  • परियोजना Xcode "प्राथमिकताएं" पर जाएं
  • "खाते" टैब पर जाएं मेरी Apple आईडी चुनें और "विवरण देखें" पर क्लिक करें
  • अपनी प्रोविज़निंग प्रोफाइल चुनें
  • ताज़ा करने के लिए नीचे बाएँ कोने पर तीर पर क्लिक करें
  • "संपन्न" पर क्लिक करें

और अब इस परियोजना को चलाने के लिए निश्चित रूप से यह काम करेंगे।


3

किसी कारण से वी का समाधान मेरे लिए काम नहीं कर रहा था। फिक्स एंटाइटेलमेंट पर क्लिक करने पर, Xcode ने दो फाइलें उत्पन्न कीं और यह अभी भी काम नहीं कर पाया, वास्तव में उत्पन्न एंटाइटेलमेंट फाइलें खाली थीं।

यह परियोजना के PRODUCT_NAME द्वारा लंबे समय तक और रिक्त स्थान और "ä" और "ö" अक्षरों के कारण (जाहिरा तौर पर) कारण था। अंग्रेजी के केवल लघु अक्षरों के साथ इसे एक छोटे संस्करण में बदलने के बाद वी द्वारा फिक्स ने सही तरीके से काम किया।


1

यह पता करने में मुझे कुछ समय लगा कि कोई वैध अप्स-एनवायरनमेंट एनटाइटेलमेंट एरर क्या है। समस्या यह थी कि XCode प्रोजेक्ट में दो .entitlements फाइलें थीं। एक प्लेटफ़ॉर्म / ios // एंटाइटेलमेंट है और एक अन्य प्लेटफॉर्म / ios // रिसोर्स / .entitlements है और उपयुक्त एंटाइटेलमेंट केवल पूर्व फ़ाइल में मौजूद है जबकि XCode को बाद के उपयोग के लिए कॉन्फ़िगर किया गया है। मैंने बाद की फ़ाइल को मैन्युअल रूप से अपडेट किया और सब कुछ काम करना शुरू कर दिया। इसे ठीक करने का एक अन्य विकल्प यह है कि XCode द्वारा .entitlements का उपयोग किया जाए। इसे बिल्ड सेटिंग्स -> साइनिंग -> कोड साइनिंग एंटाइटेलमेंट कॉन्फिगर परम में किया जा सकता है।

मुझे यकीन नहीं है कि XCode में दो .entitlements फाइलें क्यों हैं। क्या ऐसा हो सकता है कि कॉर्डोवा पुश प्लगइन ने दूसरा बनाया (मैं हाइब्रिड कॉर्डोवा मोबाइल ऐप विकसित कर रहा हूं)? और .entitlements फ़ाइल के लिए सही स्थान क्या है?


-1

मैंने इस मुद्दे का अनुभव किया और इसे पहले समाधान के साथ हल किया।

हालाँकि, मैं एक बार असफल हो गया क्योंकि मेरे पास दो सेब खाते लॉग-इन थे। एक को हटाने के बाद, सब कुछ काम हो गया।

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