आप AppStore पर एक पूरी तरह से नि: शुल्क एप्लिकेशन के रूप में एप्लिकेशन प्रस्तुत लेकिन आवश्यकता है कि में उपयोगकर्ता लॉग और इसका इस्तेमाल करने के प्रमाणित कर सकते हैं। इस तरह कोई भी इसे डाउनलोड कर सकता है लेकिन आप नियंत्रित करते हैं कि वास्तव में इसका उपयोग कौन कर सकता है। ऐप्पल आपके लिए सभी वितरण करता है और आपको एड-होक परिनियोजन या आईटी विभागों के बारे में चिंता करने की ज़रूरत नहीं है।
फिर आप एक वेब होस्ट (या Google AppEngine की तरह मंच) पर एक बहुत सरल विन्यास प्रबंधन प्रणाली का निर्माण करती है कि ऐप्स के प्रमाणीकरण प्रबंधन करता है।
जब कोई उपयोगकर्ता मुफ्त ऐप लॉन्च करता है तो उन्हें उपयोगकर्ता नाम/पासवर्ड/जो कुछ भी कहा जाता है। वह जानकारी वेब-आधारित कॉन्फ़िगरेशन प्रबंधन प्रणाली पर भेजी जाती है और पुष्टि की जाती है। यदि ऐप को कॉन्फ़िगरेशन प्रबंधन प्रणाली से स्वीकार्य पुष्टि प्राप्त होती है तो यह उस उपयोगकर्ता द्वारा उपयोग के लिए स्वयं को अनलॉक कर देती है।
ऐप या तो लॉन्च होने पर हर बार फिर से प्रमाणीकृत कर सकता है (उपयोगी अगर आप बहुत अधिक नियंत्रण चाहते हैं) या यह स्थानीय रूप से एक महत्वपूर्ण फ़ाइल को संग्रहीत कर सकता है जो यह इंगित करता है कि इसे प्रमाणित किया गया है।यदि ऐप लॉन्च होने पर स्थानीय कुंजी फ़ाइल को देखता है तो यह स्वयं प्रमाणित मानता है और कभी भी जांच नहीं करता है।
चाहे आप प्रति व्यक्ति एक उपयोगकर्ता खाते का उपयोग करते हैं या पूरी कंपनी के लिए एक आप पर निर्भर करता है।
वितरण की यह शैली बहुत उपयोगी है यदि आप इस पर नियंत्रण रखना चाहते हैं कि ऐप का उपयोग कौन कर सकता है लेकिन ऐपस्टोर प्रदान करता है कि तैनाती की आसानी चाहते हैं।
ऐप्पल ने ऐपस्टोर पर कई ऐप्स स्वीकार किए हैं जो रिमोट सर्वर के खिलाफ प्रमाणीकरण की इस विधि का उपयोग करते हैं (स्काइप एक आदर्श उदाहरण है)।
यदि आप कॉन्फ़िगरेशन सर्वर पर डिवाइस UDID का ट्रैक रखते हैं तो आप डिवाइस के एक निश्चित सेट को काम करने की अनुमति देने के लिए इसे प्री-लोड भी कर सकते हैं।
आगे, मैंने जो भी वर्णन नहीं किया है वह आईफोन विशिष्ट है ताकि आप एंड्रॉइड (या यहां तक कि डेस्कटॉप) जैसे अन्य प्लेटफ़ॉर्म पर उसी कॉन्फ़िगरेशन प्रबंधन प्रणाली और अवधारणाओं का उपयोग कर सकें, यदि आपने कभी भी ऐप पोर्ट किया है या भविष्य में अन्य ऐप्स बनाने की आवश्यकता है।
इसके अलावा, चूंकि प्रमाणीकरण उपकरणों की कार्रवाई प्रोसेसर या डेटा गहन नहीं है, इसलिए यदि आप इसे Google AppEngine पर बनाते हैं तो आप कभी भी लागत नहीं ले पाएंगे क्योंकि आप कभी भी मुक्त कोटा पर नहीं जाएंगे और आपको स्थिरता और स्केलेबिलिटी मिलेगी Google की बैकएंड आर्किटेक्चर।
इस विशेष तैनाती के रूप में है, क्योंकि एप्लिकेशन में एम्बेडेड स्वामित्व की जानकारी, विशेष रूप से जानकारी में है कि यह करने के लिए कनेक्ट और के खिलाफ प्रमाणित करने के लिए अनुमति देता है एक आंतरिक बैक-एंड सिस्टम AppStore के माध्यम से उसे लागू करने के प्रबंधन के असुरक्षित लग सकता है के लिए है बैक एंड सिस्टम।
इसका समाधान इस जानकारी को ऐप के भीतर शामिल नहीं करना है और बस उस जानकारी को उस प्रतिक्रिया का हिस्सा बनें जो ऐप कॉन्फ़िगरेशन प्रबंधन सर्वर से प्राप्त करता है। असल में ऐप में इसके फ़ंक्शन को करने के लिए आवश्यक तर्क होता है लेकिन कनेक्शन जानकारी के बिना इसमें किसी भी बैक-एंड सिस्टम को प्रबंधित करने की क्षमता नहीं होती है।
यदि आप प्रत्येक बार लॉन्च करते हैं तो ऐप प्रमाणीकृत करते हैं तो आप कॉन्फ़िगरेशन सर्वर पर कनेक्शन जानकारी बदल सकते हैं और ऐप बिना किसी नई तैनाती के नई जानकारी के अपडेट हो जाएगा। उपयोगकर्ता को सिर्फ ऐप को पुनरारंभ करने की आवश्यकता है। यह आपके क्लाइंट को आपके एप्लिकेशन कोड को अमान्य किए बिना अपने आंतरिक नेटवर्क कॉन्फ़िगरेशन को बदलने की लचीलापन देता है। आप इस जानकारी को एप्लिकेशन के भीतर मैन्युअल रूप से कॉन्फ़िगर करने योग्य भी बना सकते हैं, लेकिन फिर प्रत्येक डिवाइस पर एप्लिकेशन सेट करते समय आपको आईटी लागत लगती है और यदि आप पहले ही कॉन्फ़िगरेशन प्रबंधन प्रणाली सेट अप करने जा रहे हैं तो आप इसका भी उपयोग कर सकते हैं।
उपर्युक्त समाधान को और सुरक्षित करने के लिए आप कॉन्फ़िगरेशन प्रबंधन प्रणाली को घर में और कंपनी की फ़ायरवॉल के पीछे रखना चाहते हैं ताकि इस पर ध्यान दिए बिना कि ऐप को पकड़ने के लिए वे कॉन्फ़िगरेशन सिस्टम से कनेक्ट नहीं हो सकते हैं, जब तक वे भीतर न हों कंपनी का नेटवर्क
मैं एक इन-हाउस विकसित ऐप, मैं लिंक ऊपर से खोलने की कोशिश करता हूं http://devworld.apple.com/programs/ios/enterprise/--- लेकिन यह काम नहीं कर रहा है, वैसे भी मैं सिर्फ यह पुष्टि करना चाहता था कि यह छोटी कंपनी (लगभग 200 कर्मचारियों) के लिए संभव है और ग्राहक ऐप स्टोर के उपयोग के बिना इन-हाउस ऐप को भी डाउनलोड कर सकते हैं? धन्यवाद – Pooja
@ पूजा - एक छोटी कंपनी के लिए एंटरप्राइज़ ऐप वितरित करना संभव है (वास्तव में मेरे ग्राहक के पास लगभग 50 कर्मचारी हैं)। तकनीकी रूप से एक ग्राहक * * उस ऐप को डाउनलोड * कर सकता है लेकिन वितरण की बात आने पर आपको बहुत सावधान रहना होगा। प्रत्येक ऐप आपके एंटरप्राइज़ वितरण प्रमाणपत्र के साथ आता है। दुर्भावनापूर्ण उपयोगकर्ता उस प्रमाणपत्र को निकाल सकते हैं और इसके साथ अपने स्वयं के ऐप पर हस्ताक्षर करना शुरू कर सकते हैं, जो स्पष्ट रूप से वांछित परिणाम नहीं है। – Luke