2016-02-09 29 views
1

我的應用程序通知(使用UILocalNotification)用戶每次他接近我的客戶的商店之一,即使在後臺。靜音UILocalNotifications發送一定的時間

我有一個靜音按鈕,當用戶點擊,在彈出actionSheet並要求他爲他想了多久靜音的應用程序(5小時,24小時,1周或1個月)。

當用戶選擇其中一個選項時,我希望應用程序停止發送通知,直到此時間過去。

這樣做的最好方法是什麼?

我真的很感激代碼示例。

謝謝!

+0

你有什麼試過?由於您的應用必須生成通知,因此爲什麼不計算靜音期限到期並存儲它。在生成新通知之前,請根據存儲的日期檢查當前日期。 – Avi

+0

@Avi你能給我一個這樣的代碼示例嗎?也許我會更瞭解它 –

+0

哪個部分很難?存儲未來比較的日期?生成日期?比較日期?你甚至沒有給我們任何代碼來看。 – Avi

回答

0
//fire local notification 

    NSDate * storedDate // Store your date when setting the mute 
    int tillHoursForMute // hours for mute 

    muteDate = <storedDate+tillHoursForMute> //concatenate the hours into date 
    if ([muteDate compare:firingDate] == NSOrderedDescending && [muteDate compare:firingDate] == NSOrderedAscending) { 
    //fire Notification   

    } else { 
     //Mute time 

    }  

注意:剛纔寫的步驟,根據語言標準進行更改。

+0

這是非常可怕的僞代碼,因爲你不應該比較日期。 – Avi

+0

讓他處理各自的編碼 –

+0

將該選項存儲爲布爾值('NSUserDefaults'是個好地方)。如果設置了該值,則不要創建通知,*或*如果過期日期尚未通過。 – Avi