2017-01-01 3 views
1

J'ai une application de minuterie qui est censée fonctionner pendant des heures et jouer des sons à certains intervalles. Comment puis-je faire ce travail lorsque l'écran est éteint (pour économiser la batterie) ou une autre application comme ibooks est ouverte? Actuellement, je cours ma fonction de minuterie dans le ViewDidLoad. Peut-être que c'est le problème. Quelle serait la bonne approche ici?L'application de minuterie fonctionne lorsque l'écran est éteint ios

+0

programmer des notifications locales peut-être – luk2302

Répondre

2

Planifiez une demande de notification utilisateur à l'aide de UNNotificationRequest. Fournissez un objet UNCalendarNotificationTrigger ou UNTimeIntervalNotificationTrigger comme déclencheur, en fonction de vos besoins.

Si vous avez besoin de la prise en charge d'iOS 9 et d'une version ultérieure, une API UILocalNotification analogue est obsolète dans iOS 10, mais peut être utilisée au cas où une compatibilité ascendante est nécessaire.

Notez qu'une fois la notification déclenchée, elle est uniquement côté client et votre application ne se réveille pas pour effectuer des tâches. Seulement si l'utilisateur choisit d'activer la notification, votre application obtiendra un contexte en cours d'exécution.

+0

Merci pour votre réponse. Le problème est que la minuterie se fige lorsque l'application passe en arrière-plan ou que le téléphone passe en mode veille. Mon application nécessite que ce ne soit pas le cas. J'ai vérifié un certain nombre de minuteurs sportifs et d'applications en cours d'exécution, et ils ne gèlent pas lorsque d'autres applications sont exécutées simultanément. –

+0

Les applications s'endorment en arrière-plan. Cependant, vous pouvez économiser le temps d'aller dormir, puis redémarrez votre minuterie en calculant combien de temps s'est écoulé entre maintenant et le moment où votre application est allée dormir. Vous pouvez utiliser 'NSDate', ou si vous avez besoin de plus de précision, vous pouvez utiliser mach time. –

+0

Avez-vous recherché la capacité du mode arrière-plan audio? – Gruntcakes