2013-03-13 23 views
5

Yerel oynatıcının gerçek adını bilmek istiyorum, ancak GKLocalPlayer'ın displayName'i, gerçek adı değil "Me" döndür. Ne kullanınOyun Merkezi. Gerçek adı edinin

Kodu:

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

Lütfen soruları bir çözümle güncelleyin veya kabul edilenler arasından doğru cevapları işaretleyin. Teşekkürler! – veducm

cevap

3

kullanın [GKLocalPlayer localPlayer].

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

Yanıt için teşekkürler, ancak "Me" döndürüyor – Sinba

+1

Diğer ad özelliği, gerçek adı verdi. İyi çalıştı. – user642252

4

displayName emin yerel kullanıcı tam adını almak için kullanılabilir değil. Apple's documentation Gönderen:

Oyuncu Nesneler Oyuncular

oyun belirli bir oyuncu için ayrıntıları ihtiyacı Hakkında Ayrıntısı sağlama, bu Oyun Merkezi'ne bir sorgu yaparak bu ayrıntıları alır. Bir oyuncunun bilgilerini, oynatıcının oyuncu tanımlayıcısını kullanarak alırsınız. Oyun Kiti bu ayrıntıları oyununuza bir GKPlayer nesnesinde döndürür.

  • displayName:

    kendi kullanıcı arabiriminde bu oyuncu için görüntüleyebilir Bir kullanıcı tarafından okunabilen dize. Örneğin, bir ağ eşleşmesinde, maçtaki her oyuncu için ekran isimlerini gösterebilir, böylece herkes kimlerin oynadığını bilir. Bir oyuncu için display name, bir oyuncunun cihazda kimliği doğrulanmış yerel bir oyuncunun arkadaşı olup olmamasına göre değişir. Oynatıcı, yerel oynatıcının bir arkadaşıysa, görünen ad, oynatıcının gerçek adıdır. Oynatıcı arkadaş değilse, görünen ad, oynatıcının takma adıdır.

Diğer oyuncuların ismini almak içindir. Ardından, yerel oynatıcının displayName'sini soruyorsanız, bu aygıtın geçerli kullanıcısı olduğunuz için "Me" değerini döndürmesi anlamlıdır. Sanırım bu gizlilik politikasıyla ilgili.

Olası Çözüm:

Belki, yerel kullanıcı kimliği almak ve bu kimliği için oyuncuların listeden gerçek adını almak için denemek için kullanabilirsiniz. Ama ben kendin bir arkadaşın olsaydın alınmaz mı bilmiyorum.

İlgili konular