2010-06-08 10 views

उत्तर

18

अनूदित एपीआई, या एपीआई के डेवलपर को स्पष्ट रूप से इसका खुलासा नहीं किया गया है।

जबकि आप उन्हें एक्सेस कर सकते हैं, वहां कोई गारेंटी नहीं है कि ये एपीआई भविष्य में संशोधन में आईओएस में नहीं बदलेगी, साथ ही यह आपके ऐप को खारिज करने के लिए एक निश्चित अग्नि तरीका है।

+4

"उन्हें एक्सेस कर सकते हैं" से आपका मतलब है "ऐप्पल आपके ऐप को इनकार करने के लिए अस्वीकार कर देगा"। – ceejayoz

+0

हाँ। लेमेम संपादित करें कि: डी – Alan

+0

तो आप उन्हें अपनाने के लिए नहीं जा रहे हैं, आपको वास्तव में उनके लिए खोदने की ज़रूरत है - हैकर्स पृष्ठभूमि छवि इत्यादि को बदलने के लिए क्या सही है? – TheLearner

0

उनका मतलब एपीआई है जो केवल ऐप्पल द्वारा उपयोग के लिए हैं। या अधिक सही होने के लिए, आमतौर पर एसडीके डेवलपर्स द्वारा उपयोग नहीं किया जाना चाहिए।

1

एक निजी एपीआई आमतौर पर एक विधि कॉल है जो नहीं है जिसे तीसरे पक्ष के डेवलपर्स द्वारा बुलाया जाता है। ये कॉल आमतौर पर उत्पाद/एपीआई (ऐप्पल) के विक्रेता के लिए आरक्षित होती हैं, और आमतौर पर "निजी" होती हैं क्योंकि उनके कार्यान्वयन भविष्य में बदल सकते हैं - और यदि वे डेवलपर्स को उनका उपयोग करते हैं और कार्यान्वयन में परिवर्तन करते हैं, तो एप्लिकेशन तोड़ सकता है ।

+0

मुझे लगता है कि वे एक और उचित कारण क्यों नहीं चाहते हैं कि वे निजी एपीआई कह रहे हैं क्योंकि उनकी सुरक्षा-समाधान तकनीक (डीआरएम) और टेदरिंग जैसी चीजों पर प्रतिबंध, और ऐप स्टोर साइनिंग तकनीक आपके समझ से परे कुछ चीजों पर निर्भर करती है, एक एसडीके डेवलपर। –

+2

@Warren। नहीं, यह नहीं है। नियमों के अनुसार खेल रहे डेवलपर्स पर निर्भर डीआरएम होना बेवकूफ होगा। – JeremyP

+0

उन नियमों का उल्लंघन करना संभव है, और उन चीज़ों को सीखना जो रूट-किटिंग में मदद कर सकते हैं। –

5

एक निजी विधि वह है जिसे एक [सार्वजनिक] इंटरफ़ेस विवरण के बजाय कार्यान्वयन विवरण के रूप में उपयोग किया जाता है। अन्य भाषाओं में जहां सार्वजनिक और निजी विधियां अधिक लागू करने योग्य होती हैं, निजी तरीकों को आम तौर पर उस वर्ग के अलावा किसी अन्य चीज़ से नहीं कहा जा सकता है, जिसमें वे शामिल हैं। जिसका उद्देश्य कार्यान्वयन विवरण छिपाना है, या कार्यान्वयन विवरण पर बाहरी निर्भरता को रोकने के लिए है। उदाहरण के लिए, NSArray में कई निजी विधियां हैं जो स्मृति आवंटन और कुशल पहुंच के लिए अनुकूलित स्टोरेज से निपटती हैं।

उद्देश्य-सी में वास्तव में निजी तरीके नहीं हैं; आप जो भी संदेश किसी ऑब्जेक्ट को भेजना चाहते हैं उसे भेजने के लिए स्वतंत्र हैं, और यह इसका जवाब दे सकता है या ऐसा नहीं हो सकता है। रनटाइम पर, आप यह भी जांचने में सक्षम हैं कि क्लास (और इसके उदाहरण) ऑब्जेक्टिव-सी रनटाइम एपीआई कॉल [जो सार्वजनिक रूप से प्रलेखित हैं] की एक श्रृंखला के माध्यम से प्रतिक्रिया देंगे।

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

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

संबंधित मुद्दे