GameKit dans le SDK de l'iPhone 3.0
Dois-je besoin d'utiliser le Peer Sélecteur pour trouver les pairs dans le nouveau SDK de l'iPhone 3.0?
Je n'ai pas vraiment envie de l'utiliser, mais je ne veux pas utiliser le peer-to-peer connexion Bluetooth. Est-il un exemple de code qui illustre la connexion Bluetooth sans l'aide par les Pairs Sélecteur? Le jeu GKTank Apple utilise le Peer Sélecteur, donc je ne peux pas l'utiliser.
OriginalL'auteur Josh Bradley | 2009-06-26
Vous devez vous connecter pour publier un commentaire.
Il y a deux façons de le faire.
La première consiste à utiliser GameKit API. Vous commencez par avoir deux classes distinctes, l'une qui implémente l'
GKSessionDelegate
protocole et agit comme un GameKit/Bluetooth "gestionnaire" et l'autre comme la présentation de l'INTERFACE utilisateur (le plus probablement une sorte de viewcontroller avec un tableview). Le fil c'est le gestionnaire qui gère le GameKit notifications etc et puis les appels délégué méthodes dans l'INTERFACE utilisateur de mettre à jour l'affichage de la table lors de l'un de ses pairs, se connecte/tombe, etc. De cette façon, comme les dispositifs d'aller et venir, votre liste de sélection doivent mettre à jour pour montrer qui est autour.Ci-dessous est un peu de code pour vous aider à démarrer:
La deuxième façon de le faire est d'utiliser la norme Bonjour service mécanismes de sélection. GameKit est mis en œuvre sur le dessus de Bonjour (mais au fil de Bluetooth de WiFi) donc, une fois que les deux côtés ont traversé la joignabilité du réseau les uns avec les autres et connectés, ils sont inscrits en vertu de Bonjour et d'agir comme tout Bonjour service. Le GameKit façon est probablement un peu plus facile, mais si vous avez déjà le code pour le WiFi il peut être réutilisé pour une connexion Bluetooth.
Dans ce cas, ce sont tous supposés être dans le gestionnaire de délégués puisqu'ils traitent de la sous-jacentes GameKit de plomberie. Il n'y a aucune raison que vous ne pouvez pas mettre le tout dans le viewcontroller mais c'est une bonne idée de garder le code de l'INTERFACE utilisateur découplée de code de mise en réseau. Après la mise à jour du tableau des pairs, le 'handler' objet invoque sa propre méthode du délégué "peerListChanged" qui informe le viewcontroller que la liste a changé de sorte qu'il peut appeler pour une table de rechargement et de montrer la nouvelle liste de l'utilisateur.
N'est-ce seulement le travail sur le Wifi ou vous trouverez également des pairs via bluetooth? Avez-vous d'utiliser le peer sélecteur pour utiliser le bluetooth?
OriginalL'auteur Ramin
Pourquoi ne voulez-vous pas l'utiliser?
Je ne sais pas il y a un moyen de faire directement une connexion bluetooth vous-même, et il présente une alternative pour trouver des connexions par d'autres moyens. Il offre un très bon système pour configurer un réseau entre un certain nombre de/iPod Touch, et permet de définir si la relation est vraiment pairs ou maître /esclave...
Dans ce cas, construire les clients à accepter automatiquement les invitations et de traiter la chose comme une relation maître-esclave. Tout le monde doit être en cours d'exécution de l'application pour que cela fonctionne, le bluetooth ou le WiFi (même si en fait on pourrait fonder sur notificatons éventuellement, s'il n'y a aucun moyen de les accepter automatiquement au lancement de votre application à partir d'une notification si elle n'est pas déjà en cours d'exécution).
Ouais, c'était ça l'idée...à l'auto-accepter les connexions, qui sera ma prochaine étape après avoir d'abord établir une connexion entre deux iPod touch. Je vais avoir un total de huit à travailler avec une fois que tout est en place et en cours d'exécution.
OriginalL'auteur Kendall Helmstetter Gelner