Déclencher un iPhone à distance
Benoà®t
Membre
Bonjour.
Pour les besoins d'un tournage, je cherche à déclencher un iPhone à distance.
Plus précisément : je vais créer un application qui affiche certaines vues sur un iPhone, dans un ordre prédéfini, mais je souhaiterais que le passage d'une vue à l'autre puisse être déclenchée à distance (quelques mètres) sans fil par un autre iPhone ou un Mac ou même un autre périphérique.
Cela pourrait servir à simuler un appel, sur un top précis du dialogue.
Je ne trouve aucune piste pour piloter à distance un iPhone. Et quand je dis piloter, je ne souhaite vraiment que donner un top à un application qui ainsi passerai d'une vue à une autre.
J'ai utiliser des "timers" mais cela oblige les comédiens à de caler sur l'iPhone alors que je souhaite faire le contraire.
Quelqu'un a une idée ?
Merci
Pour les besoins d'un tournage, je cherche à déclencher un iPhone à distance.
Plus précisément : je vais créer un application qui affiche certaines vues sur un iPhone, dans un ordre prédéfini, mais je souhaiterais que le passage d'une vue à l'autre puisse être déclenchée à distance (quelques mètres) sans fil par un autre iPhone ou un Mac ou même un autre périphérique.
Cela pourrait servir à simuler un appel, sur un top précis du dialogue.
Je ne trouve aucune piste pour piloter à distance un iPhone. Et quand je dis piloter, je ne souhaite vraiment que donner un top à un application qui ainsi passerai d'une vue à une autre.
J'ai utiliser des "timers" mais cela oblige les comédiens à de caler sur l'iPhone alors que je souhaite faire le contraire.
Quelqu'un a une idée ?
Merci
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Tu peux faire ça très facilement à condition que le Mac et l'iPhone soient sur le même réseau. (C'est pareil si tu souhaites contrôler l'iPhone depuis un autre iPhone).
Regarde du côté de NSNetService qui propose de créer un "service". Grâce à la technologie "Bonjour", il te suffira d'utiliser NSNetServicesBrowser (je suis pas sûr du nom) sur la machine qui pilotera l'iPhone afin de détecter le service ouvert par l'iPhone qui doit être contrôlé.
À partir de là , tu "resolve" l'adresse de l'iPhone et tu utilise les sockets pour envoyer des instructions.
Evidemment, il faut que l'iPhone puisse les interprêter ! Donc tout ça est à coder.
Du côté du discovering et mise en place d'un service, on voit qu'Apple fourni ce qu'il faut en couche haut-niveau (NSNetService, NSNetServiceBrowser..). Par contre niveau sockets, je te conseille une classe aussi haut-niveau (car sinon tu dois utiliser du C et jouer avec les CFSocket et cie) qui s'appelle "Asyncsocket". Open-source et assez bien fait. Dans sa dernière version, elle gère même GCD.
Sinon pour la solution reseau, il y a l'appli sample witap dont tu peux t'inspirer. Si tu n'as pas de wifi, la connexion peut se faire par bluetooth.
Connexion des 2 iPhones en Bluetooth => voir la doc du GameKit
GameKit est plus simple à mettre en oeuvre mais je crois que tu es obligé de passer par l'interface graphique prédéfinie pour établir la connexion.
Pas bête du tout ! Et facile à programmer.
Ouaip et par contre ça veut dire que les acteurs doivent éviter les mouvements brusques.
Contraignant.
Donc à fortiori, si la solution d'un tap pour déclencher l'action ne semble pas coller avec son besoin, une gesture genre shake ne sera pas mieux...
Pour la petite histoire, il n'est pas nécessaire de passer par le GUI proposé pour établir la connexion.
Effectivement, la doc est assez claire là -dessus. C'est l'impression que j'avais gardé après mes premiers tests quand le framework est sorti.
Est-ce que ça fonctionne en réseau local wifi ?
[edit:]A priori oui d'après un texte de la doc: "Figure 1 Bluetooth and local wireless networking".
Ce qui est logique puisque cela semble être une couche au-dessus de Bonjour.
Dans ce cas, à part pour se connecter à un Mac, je ne vois pas trop l'intérêt d'utiliser directement Bonjour.