2015-04-05 59 views
3

如果在應用程序進入後臺後啓動請求,我無法獲取成功/失敗塊。我仍然可以看到請求成功觸發服務器,但回調從未觸發。AFNetworking成功/失敗塊在應用程序進入後臺後未被調用

我能夠把它煮到這段代碼。它從不記錄成功或失敗。

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

    AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; 

    [manager GET:MY_API_PATH parameters:nil success:^(AFHTTPRequestOperation *operation, id responseObject) { 
     NSLog(@"SUCCESS!!"); 
    } failure:^(AFHTTPRequestOperation *operation, NSError *error) { 
     NSLog(@"FAILURE!!"); 

    }]; 
} 

如果你想知道爲什麼我要做到這一點,那是因爲,我需要的時候它在後臺得到了與應用程序響應推送通知。我在那裏看到一些不一致的行爲,爲了簡化起見,我拿出了APNS作品,開始研究AFNetworking在後臺的行爲,並且遇到了這個問題。

我錯過了什麼嗎?感謝任何幫助!

+0

我們可以告訴你如何擁有應用程序請求的有限的時間足以接收和處理來自上面的響應(參見[執行有限長任務(HTTPS ://developer.apple.com/library/ios/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/BackgroundExecution/BackgroundExecution.html#//apple_ref/doc/uid/TP40007072-CH4-SW3)),但這是一種非常不同的方法比迴應推送通知,所以我不知道這是多麼有用的更廣泛的問題。 – Rob 2015-04-05 21:04:21

+0

我明白你的觀點,Rob。對於推送通知,我實現了'didReceiveRemoteNotification:fetchCompletionHandler:'委託方法,並能夠捕獲通知到達事件。從那裏開始,我正在進行API調用(就像上面一樣),並且無法在大約80%的時間內觸發回調。 – Myxtic 2015-04-05 23:21:04

+0

@Rob - 所以我跟着文檔,回調現在觸發!如果你想發表你的評論作爲答案(有關APNS案件的任何其他信息,如果你想),我很樂意接受它。與此同時,我會在我的APNS場景中嘗試一下,看看這種技術是否可以解決那裏的不一致問題。 – Myxtic 2015-04-05 23:43:21

回答

相關問題