2012-07-02 21 views
6

इसे पढ़ने और रुचि पढ़ने और उम्मीदपूर्वक मेरी मदद करने के लिए धन्यवाद।आईओएस अद्वितीय उपयोगकर्ता पहचानकर्ता डिवाइस

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

यह यूडीआईडी ​​नहीं हो सकता है, क्योंकि (बहिष्कृत होने के अलावा) यह डिवाइसों पर लगातार नहीं है। मैं इसे उपयोगकर्ता को प्रमाणीकृत करने के लिए चाहता हूं, उपयोगकर्ता को लॉगिन करने या साइनअप करने के बिना। ऐसा करना संभव है, क्योंकि कुछ ऐप्स ऐसा करते हैं। मैंने लॉग इन नहीं किया था या किसी अन्य डिवाइस के साथ कुछ भी नहीं, लेकिन यह मुझे प्रमाणित किया। मैंने सोचा था कि यह ऐप्पल आईडी के साथ था, लेकिन ऐसा करना संभव नहीं है।

मैंने इस उत्तर की जांच की: iOS unique user identifier। और ऐसा लगता है कि यह समाधान हो सकता है, लेकिन मुझे यह काफी नहीं मिलता है, क्योंकि मुझे नहीं लगता कि यह हर नए उपयोगकर्ता के लिए अद्वितीय कैसे होगा (एकाधिक उपयोगकर्ताओं और एक ही उपयोगकर्ता के बीच अंतर करने में सक्षम होने पर, लेकिन चालू अलग डिवाइस)।

मैं वास्तव में लोगों को पढ़ने और मदद करने की कोशिश करने की सराहना करता हूं। धन्यवाद

पीडी: मैं टाइटेनियम के एस्सेलरेटर का उपयोग करता हूं, ऐप्पल के आईओएस एसडीके या ऐसा कुछ भी नहीं। नोट::

का जवाब दे और इतनी तेजी से करने के लिए धन्यवाद !. लेकिन यह है नहीं कि महत्वपूर्ण है, मैं तो बस प्रक्रिया पाने के लिए टाइटेनियम के Appcelerator के साथ यह करने के लिए

पुनश्च सक्षम होना चाहते हैं मैंने इसे कई बार पढ़ा है और मुझे बस यह नहीं मिला है। क्या आप लोग इसे थोड़ा बेहतर समझने में मेरी मदद कर सकते हैं?

जिस तरह से मैं इसे समझता हूं वह यह है।

1. -एक यूयूआईडी (प्रत्येक इंस्टॉलेशन के साथ परिवर्तन) 2.- इसे कुंजीपैन (जहां तक ​​मुझे पता है, कुंजीपटल पर सहेजे गए मान डिवाइस पर स्थानीय हैं) को डिफ़ॉल्ट सेवा के साथ स्टोर करें (I मुझे लगता है कि बीमार ने इसे एप्लिकेशन के id-com.bla.bla-) के साथ रखा है, और यह भी एक डिफ़ॉल्ट खाता है, मुझे लगता है कि बीमार इसे "उपयोगकर्ता" के रूप में छोड़ देता है।

यह सब स्थानीय हो जाएगा, इसलिए प्रत्येक इंस्टॉलेशन प्रत्येक इंस्टॉलेशन के लिए एक अलग यूयूआईडी (प्रत्येक उपयोगकर्ता आवश्यक नहीं) के साथ यह करेगा, 3.-यूयूआईडी को NSUserDefaults पर सहेजें। 4.- यूयूआईडी को क्लाउड के सार्वजनिक डेटा स्टोर में सहेजें। (क्लाउड डेटा स्टोर में यूयूआईडी, कीचेन और एनएसयूसर डीफॉल्ट समान होना चाहिए)

तो, यदि 5 इंस्टॉलेशन चल रहे हैं, तो क्लाउड पब्लिक डाटा स्टोर किया जाना चाहिए की तरह इस

An Array of 5 values: 
[ 
XXXX-EEEEE-FFFFF, 
SFSDFFWE-WERW-SDFS, 
XXXX-XXXXX-XXXXX, 
ZZZZZ-ZZZZ-ZZZZX, 
XZXZZX-ZXZXZXS-ADADS 
] 

5.-सभी इस हर बार जब आप एप्लिकेशन को चलाने के पहले पता चल सके कि सार्वजनिक बादल की दुकान पर संग्रहीत एक मूल्य है निष्पादित किया जाएगा,। यहां मैं कहां उलझन में हूं, एक अलग डिवाइस कैसे पता चलेगा कि यूयूआईडी तुम्हारा है? मेरा मतलब है, चुनने के लिए 5 अलग-अलग यूयूआईडीएस हैं। हो सकता है कि इसे सार्वजनिक डेटा स्टोर पर सहेजा नहीं जाना चाहिए, लेकिन निजी डेटा स्टोर पर, लेकिन इसके लिए आपको प्रत्येक उपयोगकर्ता को भी पहचानना होगा। यह वह जगह है जहां मैं इतना भ्रमित हो जाता हूं।

यदि कोई यूयूआईडी सेट नहीं है, तो अंतिम 4 चरणों को निष्पादित करें।

तो, मैं 5 वें चरण में भ्रमित हो जाता हूं, ज्यादातर लोग उस समाधान को समझते हैं, बिना किसी स्पष्टीकरण के, इसलिए मुझे कुछ काम करने के तरीके में अज्ञानी होना चाहिए, शायद क्लाउड सेवाएं? मुझे लगता है कि समस्या यह है कि शायद मैं समझ नहीं पा रहा हूं कि iCloud कैसे काम करता है, और यह कैसे मूल्यों को संग्रहीत करता है। मुझे बस यह नहीं पता कि एक्स के चलते एक्स का 5 वां (यादृच्छिक संख्या, यह दूसरा या 2000 वां हो सकता है), पता चलेगा कि यूयूआईडी XXX ... उपयोगकर्ता एक्स का यूयूआईडी है, और यूजर का यूयूआईडी नहीं है जेड

इतनी तेजी से जवाब देने के लिए फिर से धन्यवाद, मैंने सोचा कि शायद मैं कुछ मिनटों के कुछ दिनों के, न इंतजार करना होगा। मुझे अपनी अज्ञानता के लिए माफ़ कर दो, मैं इस मामले पर एक नोब हूं, लेकिन मैं सीखना चाहता हूं। दिन

उत्तर

2

के लिए इस समस्या पर अटक कर दिया गया जवाब आप के लिए भेजा अपने उपयोगकर्ताओं की पहचान करने के लिए सही तरीका है। समाधान UUID (अद्वितीय उपयोगकर्ता आईडी) नामक पहचान के मान को सहेजना है - यूडीआईडी ​​(अद्वितीय डिवाइस आईडी) के विपरीत।

केवल नीचे की ओर आप के लिए निश्चित रूप से इस के रूप में एक डेवलपर उपयोगकर्ता हटा सकते हैं और फिर से एप्लिकेशन इंस्टॉल और एक अलग आईडी होता है।

+0

कृपया मेरा नोट अप देखें ^। बीटीडब्ल्यू, उत्तर देने के लिए धन्यवाद! :) – Sismetic

2

जैसा कि डैनियल ने कहा था, यूयूआईडी आपके उपयोगकर्ताओं की पहचान करने का सही तरीका है। मैं बस इस पर जोड़ना चाहता हूँ; आपने कहा कि

मैं न देखते हैं कि कैसे यह यह विकिपीडिया लेख को accordint

खैर हर नया उपयोगकर्ता के लिए अद्वितीय होगा:

बेतरतीब ढंग से उत्पन्न UUIDs 122 यादृच्छिक बिट्स है .. अगले 100 वर्षों के लिए प्रत्येक सेकेंड में 1 अरब यूयूआईडी उत्पन्न करने के बाद, केवल एक डुप्लिकेट बनाने की संभावना लगभग 50% होगी। यदि पृथ्वी पर हर व्यक्ति 600 मिलियन यूयूआईडी का मालिक है तो एक डुप्लिकेट की संभावना लगभग 50% होगी।

तो आप सुनिश्चित हो सकते हैं कि यूयूआईडी प्रत्येक उपयोगकर्ता के लिए अद्वितीय होगा।

साथ ही, मैक पता अपने ईथरनेट कार्ड, टाइमस्टैम्प, और कुछ अन्य विविध जानकारी के मैक पता पर ही आधारित होता। यह सुपरयूसर पर this प्रश्न के अनुसार यूयूआईडी की विशिष्टता में जोड़ता है:

[मैक पते] उचित रूप से अद्वितीय हैं।

  • पहले 3 ऑक्टेट निर्माता को परिभाषित करते हैं।
  • अंतिम 3 ऑक्टेट आमतौर पर प्रोम जलने के समय उत्पन्न होते हैं। यह निर्माता पर निर्भर करता है कि वे यह कैसे करते हैं।

यह स्पष्ट रूप से प्रति निर्माता 16,777,215 संभावित अद्वितीय मैक पते देता है। यह काफी है, इसलिए निर्माता को फिर से उपयोग नहीं करना चाहिए।

तो मूल रूप से, यूयूआईडी मैक पते पर विशिष्टता की एक अतिरिक्त डिग्री जोड़ता है।

योग में, अपने इरादों और मकसदों के लिए, UUID अधिक उचित होगा।

आशा है कि इससे मदद मिलती है!

+0

कृपया मेरा नोट अप देखें ^। बीटीडब्ल्यू, उत्तर देने के लिए धन्यवाद! :) – Sismetic

+0

@ सिस्मेटिक - कोई समस्या नहीं। हम सब इस तरह से शुरू किया। – pasawaya

+0

इतना समझने के लिए धन्यवाद :) मुझे एसओ: पी पसंद है। क्या आप प्रक्रिया को बेहतर तरीके से समझने में मेरी मदद कर सकते हैं? – Sismetic