2014-02-25 67 views
-3

我創建一個iOS的應用程序中,我正在從服務器證件號碼,而應用程序是在前臺,我更新的如何更新證件號碼,當應用程序在後臺

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo 
{ 

} 

徽章號碼但是當應用程序在後臺時,我不知道應該調用哪個函數。

+0

試試這個[UIApplication sharedApplication] .applicationIconBadgeNumber = 2;任何你想要的號碼 –

+3

你可以隨時編輯你自己的問題。無需一次又一次詢問[同一問題](http://stackoverflow.com/q/21981350/1603072)。 – Bhavin

回答

0

使用此

- (void)applicationDidEnterBackground:(UIApplication *)application 
{ 

    [UIApplication sharedApplication].applicationIconBadgeNumber = X; 
    NSLog(@"Application Did Enter Background"); 
} 

發送你的徽章數量的推送通知

+0

我知道,當應用程序處於後臺時,didReceiveRemoteNotification方法永遠不會調用。此方法applicationDidEnterBackground:當我點擊主頁按鈕時調用。這是錯誤的。當應用程序處於後臺時,徽章號碼永遠不會更新,通過此代碼,我可以在單擊主頁按鈕時更新徽章號碼。這不是我的問題。我想在應用程序處於後臺時更新徽章號碼。任何困惑? –

+0

看到這個https://developer.apple.com/library/ios/documentation/iphone/conceptual/iphoneosprogrammingguide/ManagingYourApplicationsFlow/ManagingYourApplicationsFlow.html並告訴我你說哪個狀態? –

1

有效載荷可以從你的服務器發送自身的證件號碼。

默認情況下,當您在APN有效載荷中指定徽章號碼時,不需要設置應用程序的徽章號​​碼。如果您沒有收到來自服務器的徽章號碼,那麼您無法執行此操作,直到用戶打開該應用程序。

但是在ios7 APN有一個新功能。

通過設置標誌Content-Available:1將讓您的應用程序在收到通知後立即運行,您可以設置您的徽章號碼。

+1

@ coolMonster-這可以是一條評論 –

+0

@VivekSehrawat你是對的..這應該是評論:) – Rajneesh071

+0

我現在要求iOS_6而不是iOS_7。 –

1

您可以發送證件號碼在推送通知這樣

{"aps":{"badge":"3","alert":"help","sound":"sound.caf"}} 
+0

是的,但這是唯一的方法 – nerowolfe

1

當應用程序在後臺didReceiveRemoteNotification方法永遠不會調用。爲了在你的應用程序處於後臺時執行某些操作,你需要在AppDelegate的applicationDidEnterBackground:方法中實現你的邏輯。

+0

我知道,當應用程序在後臺didReceiveRemoteNotification方法永遠不會調用。此方法applicationDidEnterBackground:當我點擊主頁按鈕時調用。這是錯誤的。當應用程序處於後臺時,徽章號碼永遠不會更新,通過此代碼,我可以在單擊主頁按鈕時更新徽章號碼。這不是我的問題。我想在應用程序處於後臺時更新徽章號碼。任何困惑? –

+2

然後你可以使用這個方法applicationWillEnterForeground,基本上它的服務器負責給你發送徽章號碼,作爲iOS開發者,我們只清除徽章號碼。請關注您的網站開發人員向您發送推送字典中的徽章號碼//創建有效內容主體 $ body ['aps'] = array( 'alert'=> $ message, 'badge'=> 1 , 'sound'=>'default' );否則你將無法做到這一點。希望這會解決你的困惑。 – Irfan

相關問題