2013-12-11 204 views
0

我正在嘗試使用Parse在iOS中安排推送通知。我只有一個免費帳戶(這意味着我不能在網絡後端安排通知),所以我想出了一個通過Parse安排通知的解決方案:與Parse.com安排iOS推送通知

在應用程序中,當您按發送通知時,您將文本以及發送通知的日期(使用代碼發送標準PFPush代碼)。然後我只是使用NSDate並每天檢查日期以查看它是否與預定通知的日期相符。如果是,則發送通知;從而在預定的日期發送通知,如果不是匹配的日期,則什麼也沒有發生(不發送通知,並且應用在另外的24小時再次檢查)。這是有效的,但是應用程序必須在通知計劃發送時在前臺打開(即,如果應用程序處於後臺,則不檢查日期和發送通知)。所以我的實際問題是我如何在後臺運行所有這些,所以應用程序可以在我的iPad的後臺,它仍然會檢查日期並能夠發佈PFPush(推送通知)。

任何幫助或代碼將不勝感激。

非常感謝,讓我知道你是否需要更多信息!

+0

您使用的是ios 7嗎? – jailani

+0

如果您使用IOS7,您可以使用此方法,並且您應該在info plist - (void)應用程序中註冊backgroundMode:(UIApplication *)applicationFetchWithCompletionHandler: (void(^)(UIBackgroundFetchResult))completionHandler {} – jailani

+0

噢,對於模棱兩可感到抱歉。是的,我正在使用iOS 7.我會嘗試使用該代碼,並讓它知道它是否工作。謝謝 :) –

回答

0

在這種情況下

setMinimumBackgroundFetchInterval意味着它不是在一個間隔比所指定的值的情況下被調用。但是沒有setMaximumBackgroundFetchInterval。因此,如果iOS決定每天只調用一次應用,或者每週只調用一次,則無論您的minimumBackgroundFetchInterval如何,都不會更頻繁地調用您的應用。 AFAIK iOS決定何時調用performFetchWithCompletionHandler以及用戶啓動應用程序的頻率。

在Xcode 5調試模式下,您可以從菜單強制進行後臺提取:調試>模擬後臺提取。 enter image description here