2012-02-27 11 views
5

मैंने कुछ अफवाहें सुनी हैं कि ऐप्पल आईओएस 5 बहिष्कृत विधि [UIDevice uniqueIdentifier] का उपयोग करने के लिए ऐप्स को अस्वीकार कर रहा है। क्या कोई इस बात की पुष्टि कर सकता है कि उन्होंने इस कारण से अपना ऐप खारिज कर दिया है? मुझे इस बहिष्कृत विधि का उपयोग करने के विकल्पों के बारे में पता है, लेकिन हमारे ग्राहकों में से एक अनुरोध है कि हम एक तृतीय पक्ष लाइब्रेरी का उपयोग करें जो हम जानते हैं कि इस विधि का उपयोग करता है।क्या किसी ने आईओएसआईडी उपकरणों का उपयोग करने के लिए ऐप्पल द्वारा आईओएस ऐप को खारिज कर दिया है?

मुझे आश्चर्य होगा अगर ऐसा होता है क्योंकि एपीआई विधि को हटा दिया गया है और निजी नहीं बनाया गया है।

उत्तर

6

ऐप्पल इस वजह से ऐप्स को अस्वीकार नहीं कर रहा है। मैं अपने यूजर के भीतर टोकन के साथ डिवाइस यूडीआईडी ​​एकत्र करता हूं जो पुश सूचनाओं का समर्थन करता है और उन्हें सभी को मंजूरी दे दी गई है। यूडीआईडी ​​बस को हटा दिया गया है, जिसका अर्थ है कि ऐप्पल अंततः आपको उन तक पहुंचने की अनुमति नहीं देगा। सब कुछ अभी भी काम करता है और अनुमोदित किया जाएगा।

मैंने सुना है कि ऐप्पल ने डेवलपर्स और तृतीय पक्ष के विश्लेषकों को विशिष्ट लोगों की पहचान करने में सक्षम होने से रोकने के लिए यूडीआईडी ​​तक पहुंच को हटा दिया है। यदि यह वास्तव में iCloud के मुद्दों के कारण था, तो ऐप्पल स्पष्ट रूप से इसे हर किसी के असुविधा के बजाय तय कर देगा।

संपादित करें: ऐसा लगता है कि एप्पल डिवाइस के UDID तक पहुँचने के लिए कुछ क्षुधा को खारिज किया जाता है। बस सुरक्षित होने के लिए, मैं एक यादृच्छिक अद्वितीय पहचानकर्ता बनाने के लिए CFUUID का उपयोग करूंगा। आप इसे बचाने के लिए NSUserDefaults या कीचेन का उपयोग कर सकते हैं। कीचेन का लाभ यह है कि यदि उपयोगकर्ता आपके ऐप को हटा देता है, तो कीचेन आइटम हटाए नहीं जाते हैं, इसलिए यदि उपयोगकर्ता आपके ऐप को पुनर्स्थापित करता है तो भी आप यूडीआईडी ​​तक पहुंच सकते हैं। यदि उपयोगकर्ता अपने डिवाइस को पुनर्स्थापित करता है तो यह केवल हटा दिया जाएगा।

+0

धन्यवाद जैक। क्या इन ऐप्स को विधि के बहिष्करण के बाद सबमिट किया गया है? – Brett

+0

हां। आईओडी 5.0 में यूडीआईडी ​​एक्सेस को हटा दिया गया था और तब से ऐप्स सबमिट किए गए हैं। –

+0

बहुत बढ़िया। मुझे नहीं लगता था कि ऐप्पल आईओएस 5 बहिष्कृत विधि के उपयोग को खारिज करना शुरू कर देगा। – Brett

2

ऐसा लगता है कि ऐप समीक्षा करें पर यह नियम है कि उपयोगकर्ता के पूर्व अनुमति के बिना UDID संचारित लागू कर रहा है - बल्कि जो कि बस बहिष्कृत API आह्वान से - के रूप में this post ने सुझाव दिया।

हमारे पास एक ऐप के लिए समीक्षा में एक अपडेट था जो हमारे सर्वर पर डिवाइस UDID भेज देगा, जिस पर हम इसका उपयोग उपयोगकर्ता के खाते को इंडेक्स करने के लिए करेंगे। हम किसी भी जोखिम लेने के लिए और हमारे कोड को बदलने के लिए नहीं के रूप में आपकी ऐप्लिकेशन

1 मई से में documentation on the deprecation of the UDID

3

पहचानकर्ता का उपयोग करना द्वारा प्रस्तावित, पर एप्लिकेशन-विशिष्ट अद्वितीय पहचानकर्ता उत्पन्न करने के लिए फैसला किया, App स्टोर स्वीकार नहीं करेंगे नए ऐप्स या ऐप अपडेट जो यूडीआईडी ​​एक्सेस करते हैं। आईओएस 6 में पेश किए गए विक्रेता या विज्ञापन पहचानकर्ताओं के साथ उपयोगकर्ताओं को जोड़ने के लिए कृपया अपने ऐप्स और सर्वर अपडेट करें। आप UIDevice Class Reference में अधिक जानकारी प्राप्त कर सकते हैं।

स्रोत: https://developer.apple.com/news/

1

अब Apps का UDID का उपयोग करने की अनुमति नहीं है और UIDevice की UniqueIdentifier विधि का उपयोग नहीं करना चाहिए। IOS 6

NSUUID *uuid = [[UIDevice currentDevice] identifierForVendor]; 
NSString *uuidString = [uuid UUIDString]; 

में पेश विक्रेता या विज्ञापन पहचानकर्ता के साथ उपयोगकर्ताओं को संबद्ध करने के लिए अपने ऐप्स और सर्वर अपडेट करें और ADSupport ढांचे को जोड़ने के लिए चाहिए

1

1 मई के बाद, एप्पल जो UDID का उपयोग करने वाले सभी एप्लिकेशन को खारिज कर रहा है । लेकिन ऐसा लगता है कि वे एकमात्र चीज कर सकते हैं यह जांचने के लिए कि स्ट्रिंग "अद्वितीय इंडेंटिफायर" बाइनरी में है या नहीं।

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

यदि आप जानना चाहते हैं कि क्या आप बाइनरी रखते हैं, तो आप .ipa (विज्ञापन-हाक परिनियोजन के लिए निर्यात) के विस्तार को .zip में बदल सकते हैं, इसे अनजिप कर सकते हैं और पेलोड/फ़ोल्डर पर टर्मिनल में fgrep -R uniqueIdentifier . कर सकते हैं । स्ट्रिंग वाले फ़ाइलों को ढूंढने के लिए आप अपने प्रोजेक्ट फ़ोल्डर में यह आदेश भी कर सकते हैं।

यह मेरे लिए काम किया।

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

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