2014-05-19 11 views
12

में रिमोट प्लेयर से बाहर निकलने के लिए सही प्रतिक्रिया मेरे पास दो प्रतिभागियों, और बी के साथ एक टर्न-आधारित मिलान है। वर्तमान में यह की बारी है। बी फोन करके बारी से बाहर इस्तीफा:गेम सेंटर

[match participantQuitOutOfTurnWithOutcome:GKTurnBasedMatchOutcomeQuit ... etc. 

जहां तक ​​एक के खेल केंद्र एप्लिकेशन का संबंध है, बी साथ मैच प्ले में अब भी है - मैच स्थिति है GKTurnBasedMatchStatusOpen, और मैच परिणाम GKTurnBasedMatchOutcomeNone और GKTurnBasedMatchOutcomeQuit क्रमशः हैं।

प्रलेखन से, ऐसा लगता है कि प्रतिभागी एक इस का पता लगाने और फोन करना चाहिए: प्रत्येक मैच समाप्त करने के लिए की तरह लगता है बदल जाता है के माध्यम से पुनरावृत्ति

participantA.matchOutcome = GKTurnBasedMatchOutcomeWon; 
participantB.matchOutcome = GKTurnBasedMatchOutcomeQuit; 

[self endMatchInTurnWithMatchData: ... etc. 

हालांकि, इसमें कोई अधिसूचना प्रतीत हो रहा है participantQuitOutOfTurnWithOutcome के लिए, और समय समय पर एक झुकाव

इन मैचों को समाप्त करने का सही तरीका क्या है?

उत्तर

11

एक अच्छा समाधान :)

सबसे पहले आप एक हैंडलर

 
[GKTurnBasedEventHandler sharedTurnBasedEventHandler].delegate = self; 

सेट है जो बाद, आप कॉलबैक

 
handleInviteFromGameCenter: 
handleTurnEventForMatch:didBecomeActive: 
handleMatchEnded: 
handleTurnEventForMatch:didBecomeActive: 
handleTurnEventForMatch:didBecomeActive: 
player:receivedExchangeRequest:forMatch: 
player:receivedExchangeCancellation:forMatch: 
player:receivedExchangeReplies:forCompletedExchange:forMatch: 

आप इस पद्धति की जरूरत मिल जाएगा

 
handleMatchEnded: 

प्रतिद्वंद्वी पक्ष पर मैच के अंत को संभालें।

यहाँ प्रलेखन https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/GameKit_Guide/ImplementingaTurn-BasedMatch/ImplementingaTurn-BasedMatch.html#//apple_ref/doc/uid/TP40008304-CH15-SW12

+0

के लिए लिंक है धन्यवाद! मेरे पास हैंडल मैचएन्डेड है: 'कार्यान्वित किया गया था लेकिन स्पष्ट रूप से या तो याद किया था कि यह इस मामले को कवर करता है, या सैंडबॉक्स फ्लैक्नेस का शिकार रहा है। बक्षीस तुम्हारा है :) – jnic

+0

भी आपको धन्यवाद :) – l0gg3r

+0

कृपया ध्यान दें कि घटना प्रकार "पुश" है, इसका मतलब है कि यह "आईओएस सिम्युलेटर" पर काम नहीं करेगा, वास्तविक उपकरणों पर परीक्षण करने का प्रयास करें। – l0gg3r

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