Déclencher un iPhone à  distance

Benoà®tBenoà®t Membre
11:35 modifié dans API AppKit #1
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

Réponses

  • 11:35 modifié #2
    Bonjour,

    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.
  • FKDEVFKDEV Membre
    11:35 modifié #3
    Accelerometre: un petit mouvement de la main et hop 2 secondes apres changement de vue.

    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.
  • AliGatorAliGator Membre, Modérateur
    11:35 modifié #4
    Connexion des 2 iPhones en Wifi => Exemple WiTap, utilisation d'un socket, cf technos Bonjour pour appareiller facilement les 2 iPhones (NSNetServices).
    Connexion des 2 iPhones en Bluetooth => voir la doc du GameKit
  • FKDEVFKDEV Membre
    11:35 modifié #5
    Witap fonctionne également en bluetooth.

    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.
  • DrakenDraken Membre
    11:35 modifié #6
    dans 1307787553:

    Accelerometre: un petit mouvement de la main et hop 2 secondes apres changement de vue.


    Pas bête du tout ! Et facile à  programmer. 


  • 11:35 modifié #7
    dans 1307878695:

    dans 1307787553:

    Accelerometre: un petit mouvement de la main et hop 2 secondes apres changement de vue.


    Pas bête du tout ! Et facile à  programmer. 


    Ouaip et par contre ça veut dire que les acteurs doivent éviter les mouvements brusques.
    Contraignant.
  • DrakenDraken Membre
    11:35 modifié #8
    Sauf si l'iPhone est posé sur une table. Dans ce cas c'est le fait de prendre le iTruc en main qui déclencherait la séquence d'animation.

  • 11:35 modifié #9
    On connait pas la scène.
  • AliGatorAliGator Membre, Modérateur
    11:35 modifié #10
    Ouais enfin s'il veut envoyer un signal à  l'iPhone depuis un autre iPhone, c'est j'imagine parce que la solution de juste déclencher l'action au tap sur l'écran ne lui convient pas (il parle de "pour les besoin d'un tournage" je suppose que dans ce contexte il ne doit y avoir aucune interaction avec l'iPhone, genre l'iPhone doit vibrer au moment où l'acteur dit une réplique... alors que l'iPhone est posé sur une table et pas du tout dans la main de l'acteur)

    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...
  • DrakenDraken Membre
    11:35 modifié #11
    Après un regard sur la doc, GameKit est la solution la plus simple pour envoyer des signaux entre deux 2 iTrucs.

  • jpimbertjpimbert Membre
    11:35 modifié #12
    +1 pour GameKit

    dans 1307860701:

    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.
    Pour la petite histoire, il n'est pas nécessaire de passer par le GUI proposé pour établir la connexion.
  • FKDEVFKDEV Membre
    juin 2011 modifié #13
    dans 1307939761:

    dans 1307860701:

    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.
    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.

Connectez-vous ou Inscrivez-vous pour répondre.