Aggiungere una funzione che chiameremo il tocco di un pulsante all'interno del file YourViewController.h e poi dare il corpo a tale funzione nel YourViewController.m presentare
-(void)Trigger_LocalNotification
{
[[UIApplication sharedApplication] cancelAllLocalNotifications];
UILocalNotification *_localNotification = [[UILocalNotification alloc]init];
//setting the fire dat of the local notification
_localNotification.fireDate = [NSDate dateWithTimeIntervalSinceNow:5];
//setting the time zone
_localNotification.timeZone = [NSTimeZone defaultTimeZone];
//setting the message to display
_localNotification.alertBody = @"Did you forget something?";
//default notification sound
_localNotification.soundName = UILocalNotificationDefaultSoundName;
//displaying the badge number
_localNotification.applicationIconBadgeNumber = [[UIApplication sharedApplication]applicationIconBadgeNumber]+1;
//schedule a notification at its specified time with the help of the app delegate
[[UIApplication sharedApplication]scheduleLocalNotification:_localNotification];
}
La prima linea del codice rimuove tutte le notifiche locali dal sistema se sono dichiarate. Nella seconda riga sto inizializzando la variabile UILocalNotification e nella terza riga sto usando la proprietà fireDate per impostare l'ora in cui questa notifica locale verrà attivata e, come puoi vedere, la notifica verrà attivata dopo 5 secondi.
The soundName è una proprietà della classe UILocalNotification che viene utilizzata per riprodurre un suono quando la notifica viene attivata e quando l'applicazione che attiva questa notifica locale non è attiva, in tal caso verrà visualizzata una finestra di avviso con la notifica predefinita suono e il messaggio di avviso è scritto usando la proprietà alertBody. L'ultima riga del codice allegherà questa notifica al sistema.
assicurarsi di allegare questa funzione con il pulsante a sfioramento dentro evento
[btn addTarget:self action:@selector(Trigger_LocalNotification) forControlEvents:UIControlEventTouchUpInside];
Ora selezionate il file App Delegate.m del progetto e creare l'oggetto di questa classe (YourViewController)
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Override point for customization after application launch.
YourViewController *obj = [[YourViewController alloc]init];
[self.window addSubview:obj.view];
[self.window makeKeyAndVisible];
return YES;
}
Eseguire l'applicazione e quando l'applicazione viene avviata nel simulatore, quindi premere rapidamente il tasto home per vedere la finestra di avviso della notifica locale dopo 5 sec.
Spero che questa risposta ti abbia aiutato nell'imparare come implementare UILocalNotification.
grazie all'allarme funziona bene ora ..... Ma il testo da visualizzare in tale avviso proviene da un altro controller di visualizzazione e perché non funziona ??. 'application.applicationIconBadgeNumber = 0; \t NSString * reminderText = [notification.userInfo objectForKey: kRemindMeNotificationDataKey]; \t [viewController showReminder: reminderText]; – Chandu
show promemoria è il metodo che ho scritto nell'altro controller della vista, ma non so perché non è stato chiamato – Chandu
come modo per gestire il notif locale. Suggerite qualche posto per impostare 'isAppResumingFromBackground' su' YES'? Qualche posto verrà chiamato dopo l'applicazione: didReceiveLocalNotification: 'ma verrà richiamato in qualsiasi caso l'app riprenda. – dvkch