2012-06-20 14 views
7

Xcode 4.3.3 çalıştırıyorum ve iOS 5.1'i hedefliyorum. Oyun Merkezi işlevini oyuna dahil etmeye çalışıyorum. GKLocalPlayer kimliğini doğrularkenBizarre GameKit davranışı. Bunu gören başka biri var mı?

kullanıcı Oyun Merkezi uyarı görünümüne içinde Oturumu sunulan veya kaydedilebilir gösterilmiştir. Şimdiye kadar bu tüm iyi, ama kullanıcı basarsa sonra düğmesini Yeni Hesap Oluştur herhangi bir açık modal görünümler kök görünümü denetleyicisi arkasında taşınır ve aşağıdaki hata konsolundan tükürmek edilir:

Dengesiz aramalar < GKModalRootViewController için/başlamak uç görünümü geçişler için: bellek adresi >.

GKLocalPlayer kimlik doğrulama kodunu uygulama temsilcisi ile kök görünüm denetleyicisi arasında taşımayı denedim. Ayrıca yeni ve boş bir projede kimlik doğrulamayı uygulamayı denedim. Storyboard ve ARC ile birlikte ve denemedim. Tüm bu vakalarda sonuçlar aynıydı: Kök görüntüleme denetleyicisinin arkasında saklanan modalar ve verilen hata. didFinishLaunchingWithOptions: yöntemi:

- (void)authenticateLocalPlayer 
{ 
    GKLocalPlayer *localPlayer = [GKLocalPlayer localPlayer]; 
    [localPlayer authenticateWithCompletionHandler:^(NSError *error) { 
     if (localPlayer.isAuthenticated) { 
      // Perform additional tasks for the authenticated player. 
     } else { 
      // Disable Game Center features. 
     } 
     if (error) { 
      // Handle error. 
     } 
    }]; 
} 

Here bunun bir ekran görüntüsü

İşte benim uygulama temsilcinizin uygulama dan arıyorum GKLocalPlayer kimlik doğrulama yöntemidir. Bu resimde, kök görüntüleme denetleyicisi% 50 alfa değerine sahip bir arka plana sahiptir. Mod, bu hata ile kök görüntüleme denetleyicisinin arkasına itildi.

This stackoverflow question Bu hataya ilişkin yalnızca başvuru kaynağı içerir (GKModalRootViewController ile ilgili) Bulabilir ve (a.) Cocos2d kullanmıyorum. (b.) Bir segue gerçekleştirip gerçekleştirmediğimi ve yapmamam ve viewWillAppear'a dokunmuyorum: veya viewDidAppear :. (c.) Kabul edilebilir bir cevap verilmedi. ve this one aynı sorunu içeriyor gibi görünüyor (görünüm hiyerarşisi yok edilirken), ancak yanıtsızdır ve konsol hata iletisinden bahsetmezler.

bu başkası için oluyor mu? Buna neyin sebep olacağı konusunda bir fikrin var mı?

UPDATE 1: Kimlik doğrulama kodunu herhangi bir başlatma çakışmasından kaçınmak için modal görünümdeki bir düğmeye bağlı bir IBAction'a yerleştirmek için gittim. Yardım etmedi.

UPDATE 2: Kimlik doğrulama kodunu bir GCD arka plan sırasına taşımayı denedim. Sonuçlar aynıydı.test projesidir (GameCenter zaten uyguladığım Bundle ID ile önceden girilmiş). Test için

: Test cihazı/simülatörü üzerinde Game Center üzerinden

  1. Günlüğü (sen oturum varsa).
  2. Uygulamayı oluşturup çalıştırın.
  3. Bilgi düğmesine basın.
  4. Kimlik Doğrulaması'a basın. Oyun Merkezi uyarısının için İşaret basın göründüğünde
  5. Yeni Hesap oluşturun.
  6. Basın İptal.
  7. Konsolda “Dengesiz Çağrılar…” mesajı görünüyor mu? model görünümü (Authenticate düğmesiyle) kayboldu mu?
  8. Bilgi düğmesine basın.
  9. Modal ekran tekrar mı?
+1

Hala bu sorunla karşılaşıyor musunuz? – NathanChristie

+0

Sorun iOS 5.1.1'de devam ediyor, ancak iOS 6 sorunu çözdü. – Endersstocker

cevap

2

Bu hata "Apple 6.0 giderilen hataların" listesinde görünür. Anladığım kadarıyla, bir geçici çözümü çok seveceksiniz, ancak buna bağlı olarak kullandığınız API'ler buggy olduğunda, şansları zayıftır. Bununla birlikte, 5.x kullanıcılarının yavaşça ölmekte olduklarını sevinebilirsiniz.

Uygulamanızla iyi şanslar.

İlgili konular