我目前正在將我的應用從使用ASIHTTPRequest遷移到AFNetworking。我知道盡可能避免同步請求,但在我的應用程序中,我只有一個地方使用我的應用程序。在應用程序委託applicationDidEnterBackground()方法中,我需要運行HTTP請求來查詢數據,以在應用程序轉到後臺時設置應用程序徽章編號。當異步運行時,這很少有效,因爲該方法剛剛退出並且應用程序在HTTP請求完成之前暫停。使用ASIHTTPRequest,我使用了[request startSynchronous]方法,這意味着HTTP請求每次都完成100%,並且徽章被正確更新。我看到AFNetworking沒有明顯的同步選項,那麼任何人都可以提出一種可以同步使用的方法,或者一種替代解決方案嗎?iOS - 使用AFNetworking執行同步HTTP請求
2
A
回答
7
已經找到了做到這一點的方法 - 使用其中一個AFHTTPRequestOperation派生方法 - setShouldExecuteAsBackgroundTaskWithExpirationHandler:在操作系統掛起應用程序之前,該操作會給操作帶來額外的時間。所以我的代碼是:
[operation setShouldExecuteAsBackgroundTaskWithExpirationHandler:nil];
[operation start];
這正是我所需要的,並解決了我的問題。
喬納森
更新:由於鮑勃指出使用這種方法實際上並不同步進行操作,但在我的情況的理想解決方案在沒有同步方法。
相關問題
- 1. AFNetworking同步請求
- 2. 使用RestKit執行同步請求
- 3. AFNetworking HTTP PUT請求
- 4. AFNetworking請求API iOS
- 5. 扭曲/執行異步http請求
- 6. 執行HTTP POST請求,然後執行HTTP GET請求
- 7. 執行HTTP請求
- 8. iOS:使用performSelectorInBackground發送同步請求
- 9. jquery ajax同步http請求
- 10. 同步發送http請求
- 11. 角度同步http請求
- 12. 使iOS塊同步執行
- 13. ios和同步請求
- 14. 角度使僞同步HTTP請求
- 15. 序列化NSURLConnection請求(iOS) - 使用同步請求?
- 16. AFNetworking和同步請求,以履行在線註冊過程
- 17. 執行HTTP請求時NetworkOnMainThreadException
- 18. 執行的請求網/ HTTP
- 19. AFNetworking同步運行
- 20. Python:嘗試使用請求登錄並執行HTTP請求
- 21. 如何使用請求庫執行HTTP DELETE請求
- 22. 如何使用$ http創建一個同步http請求循環?
- 23. 使用Node.js執行同步獲取請求
- 24. AFNetworking - 使用ETag的請求
- 25. 使用AFNetworking請求分配
- 26. 異步HTTP請求,排隊請求
- 27. Gatling同步Http請求/響應鏈
- 28. 捕獲失敗的同步HTTP請求
- 29. AngularJS Http請求同步處理?
- 30. HTTP脫機同步請求iphone
您開始了背景基礎任務。這不會執行請求同步。所以我建議你編輯你的問題來澄清。 –