Lorsque vous
[session sendDataToAllPeers:data withDataMode:GKSendDataReliable error:nil];
il retournera « Oui » si les données ont été mis en attente pour la transmission et " Non "s'il n'a pas été mis en file d'attente correctement. Si vous avez spécifié quelque chose pour le paramètre "error", le problème sera enregistré ici.
En ce qui concerne la confirmation du message effectivement reçu par le destinataire, je ne trouve rien dans la documentation (à moins que le destinataire n'envoie un message confirmant la réception). Si vous utilisez GKSendDataReliable comme mode, il tentera d'envoyer le message autant de fois que possible jusqu'à ce que la connexion expire. Il semblerait que votre meilleure option serait d'utiliser un mode fiable, vérifiez s'il a été mis en file d'attente correctement, et si vous avez besoin de réagir une fois le message reçu, envoyez une confirmation.
Je pense que l'OP est intéressé à savoir quand le dispositif émetteur est fait avec l'envoi des données. (J'aimerais beaucoup le savoir moi-même). Le 'dataReceiveHandler' que vous suggérez est appelé sur le périphérique récepteur, en supposant que les données ont été envoyées par l'expéditeur et n'ont pas été perdues en cours de route. – Spiros
Le périphérique qui envoie des données X ne reçoit pas de -receiveData: fromPeer: inSession: avec des données X. Un nom de méthode plus approprié serait sendDataToAllOtherPeers: withDataMode: error: qui pourrait être moins confus. – openfrog