我試圖做到這一點:AFNetworking GET沒有完成,而應用程序在後臺
1)無聲推送通知是由我的應用程序,通知它有新的數據通過後臺傳輸服務,即下載獲得內容可用= 1
2)該應用程序在後臺啓動,然後運行一個GET命令到我的服務器,以確定新文件的URL下載
3)該應用程序下載通過背景文件轉讓服務
我有這個工作正常,當應用程序正在運行。它需要兩個AFHTTPSessionManager對象。步驟#2需要一個在默認NSURLSessionConfiguration中初始化的,因爲GET函數使用數據任務,在後臺NSURLSessionConfiguration中不支持(見限制here)。步驟#3需要一個在後臺NSURLSessionConfiguration中的。
但是,當我通過運行推送通知在調試器中啓動應用程序時,GET調用從不調用成功或失敗塊。我要去調試 - >附加到進程,然後輸入我的進程名稱。然後,當我發送推送通知時,Xcode從「等待啓動」狀態變爲「附加到過程」狀態。我可以使用斷點來查看AFHTTPSessionManager是否正確創建,並調用GET:參數:success:failure函數。但是,成功/失敗塊中的斷點永遠不會被調用。
我能夠在應用程序處於後臺狀態時運行非後臺配置的會話管理器嗎?如果不是,我應該如何在後臺狀態下從我的服務器獲取下載信息?
即使用戶關閉了「後臺應用程序刷新」,「在後臺執行有限長度任務」仍繼續工作嗎? –