我正在寫一個同步數據的iOS應用程序。我需要同步服務才能在應用處於後臺時運行。所以我在我上傳數據的地方寫了這段代碼。IOS - 在後臺執行有限長任務
- (void)startAsyncUpload {
UIApplication *thisApplication = [UIApplication sharedApplication];
if([thisApplication respondsToSelector:@selector(beginBackgroundTaskWithExpirationHandler:)]) {
bgTaskIdentifier_ = [thisApplication beginBackgroundTaskWithExpirationHandler:^(void)
{
[thisApplication endBackgroundTask:bgTaskIdentifier_];
bgTaskIdentifier_ = UIBackgroundTaskInvalid;
}];
}
[self multipartUpload];}
它工作正常,並在後臺運行。但我在這裏遇到問題。我正在上傳一個視頻文件,當我的背景時間到期時,處理程序被調用並結束了任務。現在,當我再次上傳到上傳時,沒問題。但是現在當我再次背景時,它不會恢復後臺任務。
我知道爲什麼,基本上是因爲我之前完成了任務。但是有沒有什麼辦法可以再次恢復任務,例如爲了後臺運行再次註冊任務?
你可以使用線程來實現它我想這樣... – 08442 2013-04-23 09:37:18
如何,你能解釋一下嗎? – Advaith 2013-04-23 10:11:14