2015-10-05 13 views
5

हमें GKGameCenterViewController के साथ आमंत्रण भेजने में समस्या हो रही है। व्यू कंट्रोलर बस ठीक है, लेकिन जब हम किसी को आमंत्रित करने का प्रयास करते हैं, तो यह तुरंत विफल हो जाता है। दोनों खातों में गेम सेंटर आमंत्रण सक्षम हैं और GKGameViewController के माध्यम से अन्य खिलाड़ियों को ढूंढना ठीक काम करता है। यहाँ कोड हम ऐसे आमंत्रण, प्रबंधन करने के लिए उपयोग कर रहे हैं:गेम सेंटर आमंत्रण तुरंत विफल रहता है

इस विधि जैसे ही GKLocalPlayer प्रमाणीकृत किया जाता है (प्रमाणीकरण GameViewController से कहा जाता है, इस कोड को एक अलग खेल केंद्र प्रबंध वर्ग में है) कहा जाता है:

internal func authenticationChanged() { 
    if GKLocalPlayer.localPlayer().authenticated && !authenticated { 
     print("Authentication changed: player authenticated") 
     authenticated = true 
     GKLocalPlayer.localPlayer().unregisterAllListeners() 
     GKLocalPlayer.localPlayer().registerListener(self) 
    } else { 
     print("Authentication changed: player not authenticated") 
     authenticated = false 
     GKLocalPlayer.localPlayer().unregisterAllListeners() 
    } 
} 

और यह वह तरीका है जिसे आमंत्रण प्राप्त होने पर बुलाया जाना चाहिए, हालांकि इसे यह नहीं कहा जाता है कि आमंत्रण जितनी जल्दी भेजा जाता है, विफल रहता है। कोड की

public func player(player: GKPlayer, didAcceptInvite inviteToAccept: GKInvite) { 
    //presentingViewController.dismissViewControllerAnimated(false, completion: nil) 
    print("Accepted invite") 
    let mmvc = GKMatchmakerViewController(invite: inviteToAccept)! 
    mmvc.matchmakerDelegate = self 
    presentingViewController.presentViewController(mmvc, animated: true, completion: nil) 
} 

इन दो टुकड़े एक ही कक्षा कि GKMatchmakerViewControllerDelegate, GKGameCenterControllerDelegate, GKMatchDelegate, GKLocalPlayerListener प्रतिनिधियों और प्रोटोकॉल के अनुरूप में सभी कर रहे हैं।

+0

मुझे एक ही समस्या का सामना करना पड़ा। क्या आपको एक समाधान मिला? – EmilyJ

+0

क्या आपको कोई समाधान मिला? –

+0

नहीं, क्षमा करें। हम बस इसके चारों ओर अपना रास्ता काम खत्म कर दिया। –

उत्तर

0

मुझे एक ही समस्या थी। समस्या यह प्रतीत होती है कि मैं ऐप सेटिंग्स में एक नई संस्करण स्ट्रिंग का उपयोग कर रहा था - मैंने इसे एक ऐसे संस्करण में वापस कर दिया जो वर्तमान में आईट्यून्स कनेक्ट में है और गेम सेंटर के साथ काम कर रहा है और यह सब आसानी से काम करता है!

+0

धन्यवाद बेन, लेकिन आप किस संस्करण स्ट्रिंग का उल्लेख करते हैं? सामान्य/पहचान में एक्सकोड में से एक? –

+0

यह सही है। यह जानकारी में भी सुलभ है। कुंजी "बंडल संस्करण स्ट्रिंग, लघु" के साथ प्लिस्ट करें – Ben

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