2013-03-13 5 views
5

मैं स्थानीय खिलाड़ी का वास्तविक नाम जानना चाहता हूं, लेकिन जीके लोकलप्लेयर का प्रदर्शन नाम वापस "मी", वास्तविक नाम नहीं है।खेल केंद्र। वास्तविक नाम प्राप्त करें

कोड मैं क्या का उपयोग करें:

void (^completitionHandler)(NSArray *, NSError *) = ^(NSArray *players, NSError *error) { 

    for (GKPlayer *p in players) { 
     NSString *alies = p.alies; 
     NSString *name = p.displayName; 
     NSLog(@"name = %@",name); //not real name, just "Me" 
    } 

} 
+0

कृपया समाधान के साथ प्रश्न को अपडेट करें या दिए गए लोगों से सही उत्तर को स्वीकृत के रूप में चिह्नित करें। धन्यवाद! – veducm

उत्तर

3

उपयोग [GKLocalPlayer localPlayer]।

NSString *alias = [GKLocalPlayer localPlayer].alias 
NSString *name = [GKLocalPlayer localPlayer].displayName 
+0

प्रतिक्रिया के लिए धन्यवाद, लेकिन यह "मुझे" – Sinba

+1

लौटाता है उपनाम संपत्ति वास्तविक नाम लौटा दी। ठीक काम किया। – user642252

4

यकीन displayName स्थानीय उपयोगकर्ता पूरा नाम पुनः प्राप्त किये जा सकते हैं। Apple's documentation से:

प्लेयर वस्तुओं विवरण खिलाड़ियों

अपने खेल किसी विशेष खिलाड़ी के लिए विवरण की जरूरत है जब के बारे में प्रदान करें, यह खेल केंद्र के लिए एक प्रश्न बनाकर उन विवरण प्राप्त करता है। आप उस प्लेयर के प्लेयर पहचानकर्ता का उपयोग कर किसी खिलाड़ी के लिए जानकारी पुनर्प्राप्त करते हैं। गेम किट उन विवरणों को आपके गेम में जीकेप्लेयर ऑब्जेक्ट में देता है।

  • DISPLAYNAME:

    एक उपयोगकर्ता द्वारा पढ़े जाने योग्य स्ट्रिंग आप अपने खुद के यूजर इंटरफेस में इस खिलाड़ी के लिए प्रदर्शित कर सकते हैं। उदाहरण के लिए, नेटवर्क मिलान में, आप मैच में प्रत्येक खिलाड़ी के लिए प्रदर्शन नाम दिखा सकते हैं ताकि सभी जानते हों कि वे किसके खिलाफ खेल रहे हैं।

    एक खिलाड़ी के लिए display name इस बात पर निर्भर करता है कि खिलाड़ी डिवाइस पर प्रमाणीकृत स्थानीय प्लेयर का मित्र है या नहीं। यदि खिलाड़ी स्थानीय खिलाड़ी का मित्र है, तो डिस्प्ले नाम प्लेयर का वास्तविक नाम है। यदि खिलाड़ी मित्र नहीं है, तो डिस्प्ले नाम प्लेयर का उपनाम है।

यह अन्य खिलाड़ियों के नाम को पुनः प्राप्त करने के लिए है। फिर, यदि आप स्थानीय प्लेयर के प्रदर्शन नाम के लिए पूछ रहे हैं, तो यह समझ में आता है कि यह "मुझे" देता है, क्योंकि आप इस डिवाइस के वर्तमान उपयोगकर्ता हैं। मुझे लगता है कि इसे गोपनीयता नीति के साथ करना है।

संभावित समाधान:

हो सकता है, आप स्थानीय उपयोगकर्ता आईडी प्राप्त करने और इसका इस्तेमाल करते हैं कि आईडी के लिए खिलाड़ियों की सूची से असली नाम प्राप्त करने का प्रयास करने के लिए कर सकता है। लेकिन मुझे नहीं पता कि यह लिया जाएगा क्योंकि आप अपने दोस्त हैं या नहीं।

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