UILocalNotification ne fonctionne pas à tous les
J'ai un peu de vraiment irritant problèmes avec UILocalNotification
.
Tandis que la finition jusqu'à une application que j'ai presque terminé, j'ai remarqué que je ne pouvais pas obtenir les notifications locales à travailler, peu importe ce que j'ai essayé.
Donc au lieu de perdre du temps, j'ai décidé de revenir à l'essentiel et de voir si je pouvais obtenir de leur travail à tous.
J'ai créé un nouveau XCode view-based application, et remplacé -viewDidLoad
avec ceci:
- (void)viewDidLoad
{
UILocalNotification * theNotification = [[UILocalNotification alloc] init];
theNotification.alertBody = @"Alert text";
theNotification.alertAction = @"Ok";
theNotification.fireDate = [NSDate dateWithTimeIntervalSinceNow:10];
[[UIApplication sharedApplication] scheduleLocalNotification:theNotification];
}
Néanmoins, de ne rien faire du tout.
Je m'attendais à voir une notification 10 secondes après le lancement de l'application, mais rien ne s'affiche.
Aussi, j'ai testé sur mon iPhone et le simulateur.
Ai-je raté quelque chose de vraiment important? (J'ai cherché à travers la documentation d'Apple et ne pouvait pas trouver quelque chose pour expliquer ce qui se passe)
Grâce
Vous devez vous connecter pour publier un commentaire.
UILocalNotification
s ne s'affiche automatiquement si l'application est pas en cours d'exécution (ou d'exécution en arrière-plan). Si l'application est en cours d'exécution et une notification locale incendies,UIApplicationDelegate
’s- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification
méthode est appelée et le système ne peut pas afficher quoi que ce soit (ni jouer un son). Si vous souhaitez afficher la notification, créer unUIAlertView
- vous dans la méthode du délégué.Juste un commentaire de mes aventures personnelles dans la bêtise...
J'ai eu le même problème, mais mon problème était que j'avais oublié d'assigner une valeur à alertBody. Si vous ne définissez pas alertBody, la notification ne s'affiche pas.
une chose de plus, n'oubliez pas d'afficher la requête que ce soit pour permettre de pousser, ajouter le code ci-dessous pour AppDelegate:
UserNotificationSettings
pour une Application qui n'a que des Notifications Locales. Cela m'a aidé, aussi simple qu'il y paraît.