मैं [[GKMatchmaker sharedMatchmaker] startBrowsingForNearbyPlayersWithReachableHandler:]
का उपयोग कर गेमकिट में स्थानीय मिलमेकिंग काम करने की कोशिश कर रहा हूं। अनिवार्य रूप से, मैं इंटरफ़ेस-कम स्थानीय मैचों को लागू करने की कोशिश कर रहा हूं: जब तक मेरे स्थानीय आसपास के एक खिलाड़ी के रूप में, मैं एक मैच कनेक्ट करना और शुरू करना चाहता हूं। महत्वपूर्ण बात यह है कि, मैं केवल स्थानीय खिलाड़ियों के लिए ऐसा करना चाहता हूं: I कभी भी इंटरनेट पर स्वचालित रूप से मिलान नहीं करना चाहता।कुछ स्टार्टब्रोइंगफोरनियरप्लेयर विथरिएबल हैंडलर प्रश्न
मैंने आईट्यून्स में अपने ऐप के लिए गेम सेंटर को सक्षम किया है और परीक्षण के लिए उपयोग किए जा रहे प्रत्येक डिवाइस पर एक अलग सैंडबॉक्स खाते के लिए साइन अप किया है।
मैं GKMatchmakerViewController
के साथ दोनों विवाह की कोशिश की है startBrowsingForNearbyPlayersWithReachableHandler:
साथ और कार्यक्रम संबंधी जीवनसाथी का चुनाव एक iPhone 4 और एक 4 पीढ़ी आइपॉड टच मेरी मेज पर एक दूसरे के बगल में बैठे पर एक ही कोड चलाने (स्थानीय खिलाड़ी के सत्यापन के बाद)। न तो कभी दूसरा पाता है; आस-पास के खिलाड़ियों को खोजने के लिए इंटरफ़ेस जब GKMatchmakerViewController
का उपयोग कर
ढूँढना खिलाड़ियों पर बनी हुई है ...
स्पिनर, और जब startBrowsingForNearbyPlayersWithReachableHandler:
का उपयोग कर, अधिसूचना ब्लॉक कभी नहीं कहा जाता हो जाता है।
यहां परीक्षण के कोड के अपने वर्तमान ब्लॉक है:
-(void)connectLocal
{
if(![GKLocalPlayer localPlayer].isAuthenticated)
{
// authenticateLocalPlayer calls connectLocal again after authentication is complete
[ self authenticateLocalPlayer ];
return;
}
[[GKMatchmaker sharedMatchmaker] startBrowsingForNearbyPlayersWithReachableHandler:^(NSString *playerID, BOOL reachable) {
NSLog(@"Reachability changed for player %@", playerID);
} ];
}
डॉक्स एक छोटे से विरल &, इस विषय पर भ्रामक है, खासकर जब यह स्थानीय mulitplayer के बीच अंतर करने के लिए आता है और इंटरनेट पर मेल खाता है। उदाहरण के लिए, स्थानीय खिलाड़ी को प्रमाणित करना और खिलाड़ियों को उस मैच में शामिल होने से पहले एक मैच बनाना आवश्यक लगता है (Creating Any Kind of Match Starts with a Match Request)। हालांकि this little nugget अन्यथा सुझाव देने के लिए लगता है:
मानक यूजर इंटरफेस खिलाड़ियों अन्य आसपास के खिलाड़ियों की खोज करने की अनुमति देता है, तब भी जब न तो खिलाड़ी वर्तमान में सीधे खेल केंद्र से जुड़ा है।
साथ ही, प्रवाह Searching For Nearby Players में वर्णित में, एक मैच अनुरोध नोटिफिकेशन startBrowsingForNearbyPlayersWithReachableHandler:
के लिए पारित ब्लॉक के माध्यम से खोजने खिलाड़ियों के बाद चरण 3, तक नहीं बनाया गया है। दुर्भाग्यवश, मुझे अब तक कभी नहीं मिला है।
तो, सवाल:
1) क्या मैं सही हूँ सोच मैं स्थानीय खिलाड़ी के सत्यापन से पहले startBrowsingForNearbyPlayersWithReachableHandler:
कॉल कर सकते हैं में? गेमकिट एक त्रुटि नहीं फेंकता है, इसलिए मुझे लगता है कि यह ठीक है। यह एक दांत धारणा हो सकती है। चाहे मैं प्रमाणित करता हूं या नहीं, ऐसा लगता है कि इसमें कोई फर्क नहीं पड़ता है।
2) क्या किसी ने [GKMatchmaker sharedMatchmaker] startBrowsingForNearbyPlayersWithReachableHandler:
का उपयोग करके स्थानीय ऑटो-मिलान सफलतापूर्वक कार्यान्वित किया है? क्या वहां कोई अच्छा उदाहरण कोड है जो पूर्ण प्रवाह को दिखाता है, खिलाड़ियों के लिए एक मैच शुरू करने के लिए ब्राउज़ करने से, सभी प्रोग्रामेटिक रूप से?
3) वेब पर विवादित रिपोर्ट प्रतीत होती है कि गेमकिट-सक्षम ऐप्स को आईओएस सिम्युलेटर में परीक्षण किया जा सकता है या नहीं। आम सहमति नहीं है, और आईओएस हार्डवेयर पर परीक्षण करना बेहतर है। मैं एक आईफोन 4 & एक चौथा जीन आइपॉड टच का उपयोग कर रहा हूं। उन लोगों के लिए जिन्होंने स्थानीय मल्टीप्लेयर का सफलतापूर्वक परीक्षण किया है, आप किस परीक्षण सेटअप & पद्धति का उपयोग करते थे?
हम्म। कोई जवाब नहीं। मेरे पास एक ही समस्या है। – bobmoff
मैंने इस बारे में ऐप्पल तकनीकी सहायता से पूछा है, .. उम्मीद है कि वे जवाब जानते हैं। – bobmoff