मुझे विश्वास है कि समस्या यह है कि आपके हस्ताक्षर की निर्दिष्ट आवश्यकता यह स्वयं को "एक ही ऐप" के रूप में स्वीकार नहीं करती है (कीचेन उद्देश्यों के लिए)।
इसके लिए एक आम कारण - और मुझे लगता है कि यह तुम्हारा है- कोई डेवलपर आईडी एप्लिकेशन प्रमाण का उपयोग नहीं कर रहा है, बिना किसी निर्दिष्ट आवश्यकता के, और इंटरमीडिएट प्रमाण स्थापित किए बिना।
एक मानक डेवलपर आईडी आवश्यकता इस तरह दिखता है:
designated => anchor apple generic and
identifier \"com.example.appName\" and
((cert leaf[field.1.2.840.113635.100.6.1.9] exists) or
(certificate 1[field.1.2.840.113635.100.6.2.6] exists and
certificate leaf[field.1.2.840.113635.100.6.1.13] exists and
certificate leaf[subject.OU] = \"1AZBYCXDW9V\"))
आप अपने आप को इस का निर्माण करना चाहते हैं, तो आप अपने बंडल पहचानकर्ता और अपने प्रमाणपत्र से मूल्य के साथ subject.OU साथ पहचानकर्ता को बदलने के लिए। (आप इसे कीचेन पहुंच में डबल क्लिक करें, तो यह संगठनात्मक इकाई के रूप में सूचीबद्ध किया जाना चाहिए।) तो फिर तुम "अन्य कोड हस्ताक्षर झंडे" करने के लिए जोड़ सकते हैं:
--requirements "=designated ..." (the whole mess from above)
हालांकि, यह करने के लिए एक बहुत अच्छा तरीका है एक्सकोड 4.3.2 या बाद में उपयोग करने के लिए। यदि यह पहचानता है कि आप डेवलपर आईडी एप्लिकेशन प्रमाण का उपयोग कर रहे हैं, और कुंजीपटल में इंटरमीडिएट प्रमाण देख सकते हैं, तो यह डिफ़ॉल्ट रूप से इसे उत्पन्न करेगा।
इसके अलावा, यदि आप एक्सकोड में पुरालेख ऑर्गनाइज़र का उपयोग "निर्यात डेवलपर आईडी-हस्ताक्षरित एप्लिकेशन" पर करते हैं, तो बस अपनी लक्षित निर्देशिका से निर्माण का उपयोग करने के बजाय, यह आपके ऐप और किसी अन्य संलग्न संकेतों पर हस्ताक्षर करना सुनिश्चित करेगा, और यह परीक्षण करेगा कि सब ठीक से सेटअप है। (असफलताएं बहुत ही गूढ़ हैं-उदाहरण के लिए, "साइन इन करने के लिए एक डेवलपर आईडी चुनें" चरण में सिसॉग में एक संदेश के साथ कोई विकल्प नहीं हो सकता है जिसमें कोई उपयोगी जानकारी नहीं है- लेकिन कम से कम तथ्य यह है कि यह विफल हुआ या सफल हुआ जहां आपकी समस्या है।)
किसी भी तरह से, आपको Developer Certificate Utility साइट पर "डेवलपर आईडी इंटरमीडिएट सर्टिफिकेट" लिंक से "डेवलपर आईडी प्रमाणन प्राधिकरण" नामक इंटरमीडिएट प्रमाण को डाउनलोड और इंस्टॉल करने की आवश्यकता है (अपनी बिल्ड मशीन पर) ।
एक आखिरी बात: यहां तक कि यदि यह आपकी बिल्ड मशीन पर आपकी समस्या को हल करता है, तो भी आप वास्तव में अपने पुराने ओएस संस्करण पर परीक्षण करना चाहते हैं। उदाहरण के लिए, शेर के कोडिन द्वारा संकलित आवश्यकताओं को कभी-कभी तेंदुए, या कभी-कभी हिम तेंदुए पर भी पार्स नहीं किया जा सकता है। यदि ऐसा होता है ... Gatekeeper vs. Leopard: an ongoing tale देखें।
आप अपने ऐप को कोड-हस्ताक्षर कैसे कर रहे हैं? (यह इस समस्या के सबसे आम कारणों में से एक है।) – abarnert
मुझे एक्सकोड बिल्ड सेटिंग्स में साइन अप सेट करना होगा, कोड साइन के तहत मैंने अपने डेवलपर आईडी एप्लिकेशन –
पर एक कोड हस्ताक्षर पहचान का चयन किया है क्या आपने पिछले निर्माण को चलाया है एक ही मशीन?नामित आवश्यकता के आधार पर (जो आपके द्वारा उपयोग किए जाने वाले एक्सकोड 4 के संस्करण पर निर्भर करता है, यदि आप केवल डिफ़ॉल्ट के साथ चिपके हुए हैं), तो कीचेन आपके पुराने निर्माण और अपने नए को अलग-अलग ऐप्स के रूप में देख सकती है, जिसका अर्थ है कि आपका नया निर्माण पॉप अप होगा चेतावनी अगर पुराने निर्माण ने कीचेन में कुछ भी संग्रहित किया था। – abarnert