कोडसाइन त्रुटि: दो बार प्रदर्शित होने वाली प्रमाणपत्र पहचान


103

कोडसाइन त्रुटि: प्रमाणपत्र पहचान 'iPhone डेवलपर: XXXX (12345678)' कीचेन में एक से अधिक बार दिखाई देता है। कोडसाइन टूल की आवश्यकता है कि केवल एक ही हो।

इसलिए मैं अपने किचेन में जाता हूं और इसे हटा देता हूं। लेकिन मुझे यह त्रुटि हर बार मिलती है जब मैं Xcode 4 को पुनः आरंभ करता हूं और कुछ ऐप समाप्त हो चुके पुराने प्रमाणपत्र को चाबी का गुच्छा में वापस जोड़ रहा है। कोई विचार क्यों और कौन सा ऐप?


जवाबों:


99

मुझे बस यही समस्या थी। इसे ठीक कर लिया गया है। यह तब आया जब मैंने एक ऐप सबमिट किया और ऐप को साइन करने के लिए कुछ प्रमाणपत्र स्थापित किए।

क्विक फिक्स: KEYCHAIN ​​ACCESS को ओपन करें> MY CERTIFICATES> पर क्लिक करें, वहां आपको शायद iPhone डेवलपर दिखाई देगा:। आप शायद इसे दो बार देखेंगे! जल्द से जल्द समाप्ति तिथि के साथ एक का चयन करें, राइट क्लिक करें और DELETE चुनें।

यदि आपने नहीं किया है तो Xcode को पुनः आरंभ करें अब काम करता है। :)

हैप्पी कोडिंग।


27
एक और क़दम! आपको डुप्लिकेट प्रमाण पत्र को हटाने के बाद XCode में आयोजक को खोलने और अपने प्रावधान प्रोफाइल को ताज़ा करने की आवश्यकता है।
मियोकी

@ मीकोहि, मेरे प्रावधान वाले प्रोफाइल को 'रिफ्रेश' करने से आपका क्या मतलब है? धन्यवाद!
abw333

7
पुराने प्रमाण पत्र को हटाने के बाद मेरे लिए उसी समस्या को हल करने के लिए Xcode पुनः लोड किया गया था।
मैक्सिम मिखेव

Xcode 4 पर (मेरे पास 4.4.1 है), मुझे पुराने प्रमाणपत्र से जुड़े सभी प्रोविज़निंग प्रोफाइल को हटाना पड़ा। फिर मैंने Xcode को फिर से शुरू किया और पुराने प्रमाणपत्र को (जादुई रूप से) किचेन में दिखाई देना बंद कर दिया।
रॉबर्टो

3
एक जोड़ के साथ मेरे लिए काम किया (मैं Xcode 4.6.3 का उपयोग कर रहा हूं)। मैंने समाप्त हो चुके (या जल्द ही समाप्त होने वाले) सिरेट्स को हटा दिया, फिर Xcode को फिर से शुरू किया और मुझे अभी भी समस्या थी - पुराने सीट्स किसी तरह किचेन एक्सेस में फिर से दिखाई दिए। इसलिए, मैंने Xcode को पुनः आरंभ किया, लेकिन इससे पहले कि मैं अपने प्रोजेक्ट को खोलने के लिए चुना, मैं किचेन एक्सेस पर वापस चला गया और पुराना प्रमाण फिर से था, इसलिए मैंने इसे हटा दिया। फिर मैंने अपना प्रोजेट खोला (पहले से ही चल रहे एक्सकोड में) और सब ठीक था - मैं फिर से निर्माण करने में सक्षम था।
एड सिनेक

71

मुझे लगता है कि मुझे समझ में आया कि साधारण डिलीट काम क्यों नहीं कर रहा है। क्योंकि देव प्रमाणपत्र अभी भी प्रावधान प्रोफ़ाइल में संग्रहीत है, जब मैंने किचेन में प्रमाण पत्र को हटाने के बाद Xcode को बंद / फिर से खोल दिया, तो मैंने देखा कि पुराना प्रमाण पत्र वापस आ गया है। इसलिए मैं इसे फिर से हटाता हूं। इसने काम कर दिया।

प्रोफ़ाइल हटाने का सरल उपाय मेरे लिए कारगर नहीं रहा।

समाधान जो मेरे मामले में काम आया:

  1. एक्सकोड से बाहर निकलें
  2. यदि किचेन एक्सेस खुला है, तो उसे खुला रखें।
  3. अब Xcode लॉन्च करें।
  4. देखें कि प्रमाणपत्र Xcode के बारे में शिकायत कर रहा था कि उसके कैश से लॉन्च के समय किचेन में फिर से जोड़ा जाएगा।
  5. आगे बढ़ो और इसे हटा दें।
  6. संकलन और खुश कोडिंग।

3
मैंने उपरोक्त सभी समाधानों की कोशिश की, और यह एक चाल चली। लगता है कि कई कारण / समाधान हैं।
नाथन हैंगें

+1: मैं इस बात की पुष्टि कर सकता हूं कि XCode वास्तव में प्रमाणपत्रों का "कैश" रखता है और उन्हें इसके लॉन्च पर जोड़ता है - यह भयानक है कि यह इस तरह से काम करता है! यह बहुत सारी समस्याओं का कारण बनता है! आप पर शर्म आती है Apple, इस से लड़ने के कारण घंटों का समय नष्ट हो गया है!
जेआरजी-डेवलपर

10

मैंने बस इसी मुद्दे पर संघर्ष करते हुए उचित समय बिताया। इसे ठीक करने के सभी प्रयासों के बाद, मुझे आखिरकार एहसास हुआ कि यह Xcode में एक बग है। इस पोस्ट ने मुझे इसे ठीक करने के लिए एक सुराग दिया: प्रमाण पत्र जादुई रूप से आपके किचेन में दिखाई दे रहा है

मेरे मामले में, सिस्टम कीचेन में मिलान निजी कुंजी थी, और बस उस पर मेरा नाम था (यह बताने के लिए कठिन प्रावधान के लिए था)। मुझे करना पड़ा:

  • संबंधित निजी कुंजी को 'लॉगिन' किचेन में ले जाएं
  • Xcode को पुनः आरंभ किया और देखा कि निजी कुंजी अब संबंधित के रूप में दिखाई दे रही थी (पुष्टि करता है कि यह क्या था)
  • प्रमाणपत्र और निजी कुंजी को हटाएं
  • Xcode और पूफ को फिर से शुरू करें! इसने मेरे पुराने प्रमाणपत्र को जोड़ना बंद कर दिया

एक दिलचस्प अवलोकन यह है कि जब आप प्रमाणपत्र को हटाते हैं, तो यह संबद्ध निजी कुंजी को नहीं हटाता है। नेत्रहीन, यह प्रमाण पत्र के नीचे निजी कुंजी दिखाता है। मूर्ख मत बनो।

सौभाग्य!


मेरे लिए काम की गई निजी कुंजी को हटाना - नवीनतम xcode
ina

4

ठीक है, एक और "संबंधित" प्रश्न पर उत्तर मिला। Xcode की समय सीमा समाप्त प्रमाणपत्र समस्या Xcode 4 http://openradar.appspot.com/9173280 के साथ ज्ञात समस्या


1
मुझे भी यही तकलीफ़ है। हालाँकि मुझे यहाँ या अन्य विषयों में उत्तर नहीं दिखता है। क्या आप इसे ठीक करने में कामयाब रहे हैं?
क्लिफ

4

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

मेरा मानना ​​है कि यह सवाल उस स्थिति को संबोधित करता है: डेवलपर और एंटरप्राइज़ वितरण के बीच कोडसाइन टकराव


3

मैं xcode45-DP1 के साथ एक ही मुद्दा है। यह मेरे लिए काम करता है:

  1. किचेन से अपने खाते से संबंधित सभी प्रमाणपत्रों को हटा दें। बटेर चाबी का गुच्छा

  2. अपने खाते से संबंधित सभी प्रोविजनिंग प्रोफाइल को xcode से हटाएं: आयोजक: डिवाइस: लाइब्रेरी: प्रोविज़निंग प्रोफाइल। क्विट एक्सकोड

  3. अपने प्रमाणपत्र को रद्द करें और इसे फिर से बनाएँ और इसे अपनी निर्माण मशीन में डाउनलोड करें

  4. प्रोविजनिंग प्रोफाइल डाउनलोड करने से पहले, यह सुनिश्चित करने के लिए कि आपका नाम चयनित है, डाउनलोड बटन के बगल में स्थित एडिट पर क्लिक करें

  5. फिर प्रोविजनिंग प्रोफाइल डाउनलोड करें

  6. चाबी का गुच्छा पर इसे स्थापित करने के लिए प्रमाणपत्र पर डबल क्लिक करें

  7. आयोजक प्रोफ़ाइल को xcode पर खींचें: आयोजक: डिवाइस: लाइब्रेरी: प्रोविज़निंग प्रोफाइल

  8. xcode से ताज़ा बटन पर क्लिक न करें।

  9. निर्माण करो।


3

उत्तर यहाँ है

ऑर्गनाइज़र के साथ पुराने सर्टिफिकेट का उपयोग करके मेरे सभी पुराने प्रोविज़निंग प्रोफाइल को हटा दें और फिर XCode को छोड़ दें, किचेन से पुराने सर्टिफ़िकेट को हटा दें और XCode को पुनरारंभ करें।

ऐसा लगता है कि जब प्रोविजनिंग प्रोफाइल में आपके संदर्भ होंगे, तो xcode चारों ओर प्रमाणपत्र रखेगा


1

मुझे ज़ोंबी प्रमाणपत्रों को अपने किचेन में फिर से खोलने और दो बार प्रदर्शित होने वाली प्रमाणपत्र पहचान से परेशानी हो रही थी। बस डुप्लिकेट प्रमाणपत्र को हटाने से काम नहीं चला।

Xcode में, जब मैं लक्ष्य में अपने कोड साइनिंग को देखता हूं, तो मुझे याद आया कि "रिलीज़" बिल्ड की तुलना में "Ad Hoc" बिल्ड में मेरा एक अलग वितरण प्रोफ़ाइल था।

जब मैंने एक नया प्रमाणपत्र तैयार किया, तो मैंने केवल ऐड हॉक बिल्ड के लिए एक नया प्रोफ़ाइल डाउनलोड किया, और रिलीज़ बिल्ड के लिए नहीं।

Xcode उन दोनों प्रोफाइल के प्रमाणपत्र पर लटका हुआ था, और इसलिए Xcode डुप्लीकेट प्रमाण पत्र का कारण बन रहा था ... क्योंकि मैं अपने प्रोफाइल को ठीक से अपडेट करना भूल गया था।

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

नए प्रमाणपत्र के साथ अपने सभी प्रोविज़निंग प्रोफाइल को अपडेट करना सुनिश्चित करें, अन्यथा Xcode चाबी का गुच्छा में BOTH प्रोफाइल के लिए प्रमाणपत्र लगाने की कोशिश करेगा ... जिससे डुप्लिकेट त्रुटि हो सकती है!


1

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


1

मेरे मामले में, "कैश" Xcode देख रहा था एक संलग्न iOS डिवाइस था। यह निर्धारित करने के लिए कि क्या यह आपके लिए समस्या है:

  1. सभी iOS उपकरणों को डिस्कनेक्ट करें
  2. चाबी का गुच्छा पहुँच से अपमानजनक प्रमाण पत्र और निजी कुंजी को हटाएँ
  3. Xcode पुनरारंभ करें
  4. किचेन एक्सेस की जाँच करें: मेरे मामले में इस बिंदु पर डुप्लिकेट को फिर से बनाया नहीं गया था
  5. IOS डिवाइस को फिर से कनेक्ट करें
  6. Xcode फिर से शुरू करें
  7. कीचेन एक्सेस की जाँच करें: मेरे मामले में इस बिंदु पर डुप्लिकेट को फिर से बनाया गया था

यदि यह आपके लिए मूल कारण है, तो आप Xcode शुरू करने से पहले यह सुनिश्चित कर सकते हैं कि आप iOS डिवाइसों को डिस्कनेक्ट कर दें।


0

बस निरर्थक प्रमाणपत्र को हटाना मेरे लिए काम नहीं आया। ऐसा लगता है कि हर बार xcodebuild को कहा जाता है, यह कैश में कहीं से चाबी का गुच्छा में प्रमाण पत्र "री-क्रिएट" करता है ... एवी के रूप में एक ही मुद्दा मैंने इसके लिए एक हैक / फिक्स बनाया, यह खोजने की कोशिश की कि फ़ाइल कहाँ कैश हो रही थी और इसे साफ़ करें, लेकिन भाग्य नहीं था। अंत में, मेरे लिए क्या काम किया (एक हैक का एक सा है, लेकिन हे, आप और क्या कर सकते हैं), यह पता लगाना था कि प्रमाण पत्र संख्या क्या है, और मैन्युअल रूप से xcodebuild के बाद जल्द ही चाबी का गुच्छा से इसे हटा दें। सबसे पहले, अपने / usr / bin / निर्देशिका पर जाएं (या जो भी निर्देशिका में आपकी xcodebuild फाइल है, कोशिश करें which xcodebuild) और निम्नलिखित कमांड चलाएँ:

sudo mv xcodebuild xcodebuild_actual

फिर निम्नलिखित कोड के साथ अपने पसंदीदा संपादक (sudo को मत भूलना) का उपयोग करके एक फ़ाइल बनाएं:

xcodebuild_actual $* &
echo "xcodebuild started, waiting to wipe certificate, 10 seconds"
sleep 2
echo "Wiping Certificate..."
sudo security -v delete-certificate -t -Z 407629F811D52C0BB7AD31BBB18DCB496354B05E

नोट: आपको पासवर्ड दर्ज करने के बिना इस विशिष्ट कमांड को चलाने के लिए अपनी sudoers फ़ाइल को संशोधित करना होगा।

हेक्स पहचान के बाद -जेड को ऑफिशियल ज़ोंबी सर्टिफिकेट की हेक्स पहचान के साथ बदलें। अंत में, सुनिश्चित करें कि xcodebuild फाइल निष्पादन योग्य है:

sudo chmod 755 xcodebuild 

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


0

मेरे मामले में प्रमाणपत्र को हटाने का काम नहीं किया। XCode 4 कैश या उन्हें पुनर्स्थापित करने के लिए लगता है। चाल है कि अंत में मेरे लिए काम किया चाबी का गुच्छा और xcode चल रहा था। फिर किचेन में मेरे 2 सर्टिफिकेट (देव + डिस्ट) को 'लॉगिन' से 'सिस्टम' तक खींचें। तब डुप्लिकेट जादुई रूप से प्रकट हो गया और मैं उन्हें हटाने में सक्षम हो गया, और फिर मैंने प्रमाणपत्रों को 'लॉगिन' पर वापस खींच लिया।


0

यह बहुत आसान है, अपने डेस्कटॉप पर सही प्रमाणपत्र निर्यात करें। चाबी का गुच्छा में उस प्रमाणपत्र को हटा दें। त्रुटि संदेश के साथ स्रोत बनाने का प्रयास करें (कोई प्रमाण नहीं है ..) फिर प्रमाणपत्र फिर से आयात करें। => सफलता!


0

मैंने प्रमाण पत्र के लिए अपने किचेन में एक निजी कुंजी को हटा दिया है, जिसकी मुझे और आवश्यकता नहीं है।

भले ही सर्टिफिकेट री-अपीयर हो लेकिन प्राइवेट चाबी दोबारा नहीं मिलती। अब मान्य प्रमाणपत्रों के लिए जाँच करें और केवल एक प्रमाण पत्र दिखाई देगा और दूसरे प्रमाण पत्र जिनकी निजी कुंजी को हटा दिया गया है, अब वैध प्रमाण पत्रों के तहत प्रदर्शित नहीं किए जाते हैं।

मुझे लगता है कि इस मुद्दे को हल करने का यह सबसे सरल तरीका है।


0

मैं एक बार एक ही समस्या से निपट रहा था। और मैंने इसे एक्सकोड में ऑर्गनाइज़र टैब से अप्रयुक्त प्रोविजनिंग प्रोफाइल को हटाकर हल किया है। वास्तव में किचेन को इस प्रोविज़निंग प्रोफाइल से वह प्रमाणपत्र मिलेगा जो या तो एक्सपायर्ड सर्टिफ़िकेट है या फिर निरस्त प्रमाण पत्र द्वारा बनाया गया है।

तो आपको बस ऑर्गनाइज़र टैब से इस प्रोविज़निंग प्रोफाइल को हटाना होगा। आयोजक xcode के राइट-टॉप साइड बटन पर है इसे खोलें और ऑर्गनाइज़र की तुलना में उन प्रोविज़िंग प्रोफाइल को हटा दें जिनका आप उपयोग नहीं कर रहे हैं।

यहाँ स्क्रीनशॉट है,

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

और चाबी का गुच्छा से अतिरिक्त प्रमाणपत्र को हटाने के लिए मत भूलना, लेकिन उसके बाद वे प्रमाणपत्र फिर से दिखाई नहीं देते हैं।

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