2012-05-21 24 views
1

我正在開發iphone應用程序,我想開發應用程序內的文件的備份應用程序每小時即使應用程序完全關閉的功能。做什麼,即使應用程序關閉在iphone

我曾嘗試使用NSLocalNotification但它不調用方法

- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification 
中的appdelegate

。通知程序顯示帶有按鈕的警報框取消和查看,如果我點擊視圖,它會打開應用程序但不調用該方法。即使用戶說取消,也應該調用這個方法。

所以它不會調用Web服務來獲取文件的備份。任何一個人都可以指導我鏈接哪一個。

感謝你, 羅希特Jankar

回答

2

你真的不能做你想做的。由於iOS不允許應用程序在後臺運行,除非它是VOIP客戶端,AudioPlayer或跟蹤用戶位置。

UILocalNotification解決方案的問題是iOS處理通知。當用戶點擊取消時,你的應用程序不會得到這個消息。您只能處理查看按鈕點擊。

僅當您的應用程序正在運行或從後臺運行中恢復時纔會調用-(void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification

如果您的應用程序得到由系統啓動的時候,你在本地通知用戶點擊視圖,您需要檢查是否有在- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions方法的通知:

UILocalNotification *notification = [launchOptions objectForKey:UIApplicationLaunchOptionsLocalNotificationKey]; 

if (notification) { 
    //handle the notification. 
} 
+0

謝謝rckoenes,所以如果用戶點擊取消按鈕,就不可能發生泄密。我想知道如果應用程序完全關閉,推送通知是否可以工作,這將解決應用程序關閉時的通知問題。 – Rohit

+0

是的,如果您的應用程序已關閉並且用戶選擇「視圖」,那麼您的應用程序將啓動並且通知在「 - (BOOL)」應用程序中傳遞:(UIApplication *)應用程序didFinishLaunchingWithOptions:(NSDictionary *)launchOptions'方法。 – rckoenes

1

我正在開發iPhone應用程序我想要開發 功能,即使應用程序完全關閉,每小時也會將應用程序內部的文件備份到服務器上,以便每小時 。

如果您正在討論每隔幾個小時將文件備份到您自己的服務器,那麼真的沒有辦法做到這一點。另一方面,應用程序沒有運行時也不需要這樣做 - 如果應用程序沒有運行,它不能修改其文件中的數據,並且不應該有任何需要返回向上。相反,只要確保在應用運行時定期備份數據。

如果您只是想確保應用程序的數據備份到某處,請考慮使用iCloud。一旦您將應用程序設置爲使用iCloud,您的數據將在您更新時進行備份。

+0

謝謝你,迦勒 – Rohit

相關問題