हमें 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
प्रतिनिधियों और प्रोटोकॉल के अनुरूप में सभी कर रहे हैं।
मुझे एक ही समस्या का सामना करना पड़ा। क्या आपको एक समाधान मिला? – EmilyJ
क्या आपको कोई समाधान मिला? –
नहीं, क्षमा करें। हम बस इसके चारों ओर अपना रास्ता काम खत्म कर दिया। –