2013-03-06 8 views
27

में प्रावधान प्रोफाइल और प्रमाण पत्र को समझना प्रावधान प्रोफाइल, प्रमाणपत्र सही (विकास के दौरान) के बारे में मेरी समझ है?आईओएस

  1. डिवाइस पर इंस्टॉल करते समय एक्सकोड से डेवलपर प्रमाणपत्र के साथ ऐप्स पर हस्ताक्षर किए गए हैं? प्रमाणपत्र प्रावधान प्रोफ़ाइल (आईपैड/आईफोन में संग्रहीत) में मौजूद होना चाहिए और इंस्टॉलेशन डिवाइस के डिवाइसिड को प्रावधान प्रोफ़ाइल में भी उपस्थित होना चाहिए।
  2. तो जब आप किसी ऐप पर क्लिक करते हैं जब डिवाइस आपके डेवलपर मैक से कनेक्ट नहीं होता है, तो ऐप का हस्ताक्षरित प्रमाणपत्र प्रावधान प्रोफ़ाइल (जो डिवाइस पर मौजूद होता है) में से एक से मेल खाना चाहिए और डिवाइस आईडी को प्रावधान में एक से मेल खाना चाहिए प्रोफाइल, केवल तभी ऐप चलाएगा।
  3. जब डिवाइस मैक से चलने वाले मैक से कनेक्ट होता है और आप डीबग करना चाहते हैं, तो कीचेन में संग्रहीत सार्वजनिक + निजी कुंजी play में आती है, xcode प्रमाणपत्र का उपयोग करके कीचेन में संग्रहीत सार्वजनिक + निजी कुंजी अनलॉक करने का प्रयास करता है और इसलिए मैक की पहचान करता है, और उपरोक्त बुलेट को भी निष्पादित करता है और यदि यह भी सत्य है, तो आप
+19

ए [शानदार ट्यूटोरियल] (http://escoz.com/blog/demystifying-ios-certificates-and-provisioning-files/) अपने खाली समय में पढ़ने के लिए .. – Krishnabhadra

+3

तो आप अपने खाली समय में हैं, दाएं ? – Krishnabhadra

+0

अच्छा ट्यूटोरियल :) – z22

उत्तर

21

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

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

जब आईओएस किसी निष्पादन योग्य लॉन्च करने के लिए जाता है, तो यह पहले हस्ताक्षर की जांच करता है। यदि ऐप्पल ऐप स्टोर द्वारा हस्ताक्षर पर हस्ताक्षर किए गए हैं, तो यह चलता है।

यदि नहीं, तो यह स्थापित प्रावधान प्रोफाइल जांचता है। प्रोफाइल में शामिल हैं: 1. डेवलपर प्रमाणपत्र की एक सूची 2. कोई एप्लिकेशन आईडी 3. पात्रता प्रदान करने के लिए (उदाहरण के लिए iCloud, खेल केंद्र, आदि) 4. डिवाइस UDIDs की एक सूची 5. पूरी बात ऊपर लपेटा जाता है और ऐप्पल द्वारा हस्ताक्षरित।

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

मैं अत्यधिक टेक्स्ट संपादक में .mobileprovision फ़ाइल खोलने का सुझाव देता हूं; आप बहुत कुछ सीखेंगे!

+0

.mobileprovision फ़ाइल कहां स्थित है? मैं इसे अपने एक्सकोड परियोजना निर्देशिका में नहीं ढूंढ सकता। – almel

+0

आप प्रोविजनिंग प्रोफाइल के तहत सदस्य केंद्र से उन्हें डाउनलोड कर सकते हैं। – russbishop

+1

जब आप प्रावधान प्रोफ़ाइल स्थापित करते हैं तो आपके सिस्टम में यह ~/लाइब्रेरी/मोबाइलडिवाइस/प्रोविजनिंग प्रोफाइल – Raghav