我們正在創建一個應用程序,提醒用戶有關某些任務。 用戶可以選擇收到按以下基準提醒:iOS如何設置應用程序提醒
一次,每日,每週,每週(在特定工作日),每兩週,每月一次
提醒應是應用程序中的自定義彈出窗口和/或應用程序關閉時的彈出窗口。我的問題是,設置這些提醒的最佳方式是什麼?
我正在考慮這樣做的方式是將其加載到手機的SQLite數據庫中,然後每次啓動應用程序時檢查提醒,如果提醒是,我們說每天一個,應用程序會自動設置下一個提醒。我不知道我將如何去做剩下的事情。
感謝
我們正在創建一個應用程序,提醒用戶有關某些任務。 用戶可以選擇收到按以下基準提醒:iOS如何設置應用程序提醒
一次,每日,每週,每週(在特定工作日),每兩週,每月一次
提醒應是應用程序中的自定義彈出窗口和/或應用程序關閉時的彈出窗口。我的問題是,設置這些提醒的最佳方式是什麼?
我正在考慮這樣做的方式是將其加載到手機的SQLite數據庫中,然後每次啓動應用程序時檢查提醒,如果提醒是,我們說每天一個,應用程序會自動設置下一個提醒。我不知道我將如何去做剩下的事情。
感謝
我用NSLocalNotification
UILocalNotification *localNotification = [[UILocalNotification alloc] init];
if (localNotification == nil)
return;
localNotification.fireDate = dateToRemindOn;
localNotification.timeZone = [NSTimeZone defaultTimeZone];
// details
localNotification.alertBody = @"Alert Message";
// Set the button title
localNotification.alertAction = @"View";
localNotification.soundName = UILocalNotificationDefaultSoundName;
// custom data for the notification to use later
NSDictionary *infoDict = [NSDictionary dictionaryWithObject:reminderID forKey:@"remindID"];
localNotification.userInfo = infoDict;
// Schedule notification
[[UIApplication sharedApplication] scheduleLocalNotification:localNotification];
做到這一點在我的應用程序這將創建一個本地通知,你可以存儲你可能需要在用戶信息字典的任何信息,這將提供給你當它是收到或打開。
在您的AppDelegate中使用此方法來檢查應用程序是否從您的本地通知打開。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Handle launching from a notification
UILocalNotification *localNotification =
[launchOptions objectForKey:UIApplicationLaunchOptionsLocalNotificationKey];
if (localNotification) {
//handle local notification
}
}
,並使用此方法在應用程序委託中,而應用程序是開放
- (void)application:(UIApplication *)app didReceiveLocalNotification:(UILocalNotification *)notif {
// Handle notification when app is running
}
你可以設置一個NSLocalNotification
和處理應用程序的狀態:當你在應用程序中,你可以把你的自定義視圖,當你的應用程序之外,你會收到標準警報。
由於收到當地通知時趕上,將這個通知顯示,如果應用程序是完全封閉的(甚至沒有暫停)?或者應用程序需要打開?如果用戶按下通知上的按鈕,我需要應用程序才能在應用程序內部打開並運行特定的方法。 – JakesRassie
是的,他們將收到通知,如果應用程序關閉,並且如果他們在應用程序關閉時打開該通知,那麼您將在didFinishLaunching方法中檢查它。如果在應用程序運行時收到通知,則會調用didReceiveRemoteNotification方法,您可以根據需要處理它。 – RGullotti
完美,感謝您的幫助。 – JakesRassie