Dodaj funkcję, która będzie wzywamy naciśnięciem przycisku wewnątrz pliku YourViewController.h a następnie dać organizmowi tej funkcji w YourViewController.m złożyć
-(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];
}
Pierwsza linia kodu usuwa wszystkie lokalne powiadomienia z systemu, jeśli są zadeklarowane. W drugim wierszu inicjalizuję zmienną UILocalNotification iw trzeciej linii używam właściwości fireDate, aby ustawić czas, kiedy to powiadomienie lokalne zostanie uruchomione i jak widać, powiadomienie zostanie uruchomione po 5 sekundach.
Nazwa dźwięku to właściwość klasy UILocalNotification, która jest używana do odtwarzania dźwięku po uruchomieniu powiadomienia i gdy aplikacja uruchamiająca to powiadomienie lokalne nie jest aktywna, w takim przypadku zostanie wyświetlone okno alertu z powiadomieniem domyślnym dźwięk i komunikat ostrzegawczy jest zapisywany przy użyciu właściwości alertBody. Ostatni wiersz kodu dołącza to powiadomienie do systemu.
upewnij się, aby dołączyć tę funkcję za pomocą przycisku dotknąć wewnątrz imprezy
[btn addTarget:self action:@selector(Trigger_LocalNotification) forControlEvents:UIControlEventTouchUpInside];
Teraz wybierz plik App Delegate.m swojego projektu i utworzyć obiekt tej klasy (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;
}
Uruchom aplikację i po uruchomieniu aplikacji w symulatorze, a następnie szybko naciśnij przycisk strony głównej, aby wyświetlić okno alertu powiadomienia lokalnego po 5 sekundach
Mam nadzieję, że ta odpowiedź pomogła wam w nauczeniu się wdrażania UILocalNotification.
dzięki temu alarm działa dobrze teraz ..... Ale tekst być wyświetlane w tym alarmie jest z innego kontrolera widoku i dlaczego nie działa?. 'application.applicationIconBadgeNumber = 0; \t NSString * reminderText = [notification.userInfo objectForKey: kRemindMeNotificationDataKey]; \t [viewController showReminder: reminderText]; – Chandu
Przypomnienie o wyświetleniu to metoda, którą napisałem w innym kontrolerze widoku, ale nie wiem, dlaczego nie nazywa się – Chandu
dobrym sposobem radzenia sobie z lokalnym powiadomieniem. Czy sugerujesz jakieś miejsce, aby ustawić 'isAppResumingFromBackground' na' YES'? Niektóre miejsca będą wywoływane po 'application: didReceiveLocalNotification:', ale będą wywoływane w każdym przypadku, gdy aplikacja zostanie wznowiona. – dvkch