à la fermeture du programme...
@importer
Membre
Bonjour,
J'ai implémenté une petite alarme dans mon soft et je me demande peut être bien tard ce qui va se passer:
Quand le programme est lancé, no problemo, l'alarme se lance à l'heure voulue.
Mais quand l'alarme est réglée mais que le programme ne tourne pas, comment ça se passe?
Merci
J'ai implémenté une petite alarme dans mon soft et je me demande peut être bien tard ce qui va se passer:
Quand le programme est lancé, no problemo, l'alarme se lance à l'heure voulue.
Mais quand l'alarme est réglée mais que le programme ne tourne pas, comment ça se passe?
Merci
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Tu as dans le delegate de NSApplication des méthodes qui permette de traiter la fermeture et donc de lancé un petit agent en tâche de fond.
Comment tu as implémenté ton alarme ? avec des NSTimer ? Avec autre chose ?
NSTimer fonctionnant sur le principe de la RunLoop de ton thread (ton thread principal en général mais pas forcément), bah si ton appli n'est pas lancée ça va pas aller bien loin ^^ D'ailleurs pour la plupart des autres solutions possible ça sera le même souci.
@Greensource : on est dans la section iPhone, donc il n'est pas question de "helper" ou "daemon" tournant en tâche de fond, c'est pas jouable.
Utiliser les méthodes C / POSIX genre alarm() ne doit pas être possible non plus d'ailleurs.
La seule solution sur iPhone étant donné qu'il ne peut y avoir de tâche de fond :
- si c'est une "bête" alarme (genre qui fait biper ton iPhone à l'heure demandée), autrement dit que c'est une réimplémentation de ce que fait déjà l'application Horloge de iPhone pour le faire sonner à une heure donnée ou au bout d'un délai donné, voir s'il y a moyen de fixer cette alarme programmatiquement "en pilotant l'appli d'Horloge". Mais je doute fortement qu'il existe une API pour ça, cela violerait les règles de sectorisation des applications iPhone en te permettant de modifier un peu trop et mettre des alarmes à tout va sans l'avis de l'utilisateur...
- Sinon bah le seul truc jouable c'est utiliser les APN (Apple Push Notifications). Mais c'est loin d'être simple à implémenter (besoin d'un serveur auprès duquel ton appli va enregistrer les heures des alarmes que tu veux programmer, serveur qui doit communiquer avec les serveurs APN d'Apple pour s'enregistrer puis pour envoyer les notifications aux iPhones concernés aux heures demandées, pour qu'ainsi les iPhones qui ont réglé une alarme par ton appli reçoivent une notification (faisant vibrer l'iPhone et afficher un message par exemple) même si ton appli n'est pas lancée...
Oui bas du coup je vois pas comment c'est possible en dehors de notif non plus.
OUaahh, ça fait très peur ce que tu dit AliGator.
Oui, à la base c'est une simple alarme qui sonne à l'heure voulue (juste le lendemain ou le jour même hein).
Vérification à chaque seconde si heure = heureAlarme c'est tout (en gros).
Pourtant il y a plusieurs appli qui proposent une alarme et ça m'étonnerais qu'il ai fait avec APN, c'est trop de code trop compliqué pour quelque chose de basic.
J'espère d'autres suggestions
Non. Il n'est PAS possible de faire tourner une application en tache de fond avec le SDK officiel. La seule solution pour faire une alarme est donc d'utiliser les APN.
Bha ouaip c'est pour ça que ça m'étonnait.. Mais c'est quoi des APN ? xD
Bein des Appareils Photo Numérique... pffff
Ah non, c'est des Apple Push Notifications.
EDIT : zoc a fait foiré ma réponse.
Et pourtant je ne suis pas très rapide: je suis en vacances perdu au milieu de la campagne franc-contoise avec mon seul iPhone pour intervenir sur le forum
Encore un truc qui tombe à l'eau pour moi (aprés le light-sensor).
Du coup le fait que ce soit monothread, c'est pour ça aussi qu'on ne peut pas retourner sous l'application quand on a un lien interne à l'appli qui mène sur safari?!
Edit:pour l'appli avec l'alarm que j'ai vue, elle est sur l'iPhone du patron je lui demanderai de tester et je vous tiens au jus
Re-edit:En effet si on quitte l'appli l'alarme ne fonctionne pas.
@+
Merci de me corriger zoc.
Et bon Jésu de Morteau au Poulsard