幾個星期前,通過蘋果指導方針閱讀,它說應用程序應該在嘗試建立連接之前檢查可達性狀態,並且我已經閱讀了應用程序被拒絕從應用程序商店未執行此操作。在互聯網連接之前檢查可達性的要點是什麼?
然而,可達性API可能需要長達30秒(根據Apple文檔,並且我也有時會看到這種情況),以確定是否有可用性。在這種情況下,API返回不可訪問。
因此,您可以確定您確實具有可達性的情況,但API表示您不知道,並且在30秒左右時間內無法找到您。
不得不等待30秒是無法接受的長 - 特別是如果連接已經由用戶發起。考慮這種情況:
- 用戶點擊一些按鈕,執行一些互聯網相關的活動
- 按照代碼使用可達性API來檢查是否有嘗試進行連接之前可達蘋果準則。
- Reachability API表示沒有可達性(但實際上存在),所以代碼告訴用戶沒有連接(在處理過程中將其混淆)
- 30秒後,Reachability API現在會通知代碼是可達性
- 但它太晚了,因爲用戶已退出應用程序並去其他地方,因爲他們厭倦了等待。
通過遵循Apple的指導方針,首先檢查可達性,確實有可能導致絕對糟糕的用戶體驗,並且應用程序在完成時未與服務器聯繫。
這似乎很荒謬,當然我錯過了什麼?
您如何遵循Apple的指導方針,同時還能提供響應式應用程序?
我在Reacability API中遇到過這些延遲,並且想要拋棄它 - 因爲我已經看到它說沒有可達性的場合,但如果你嘗試了,所以我希望我的應用程序嘗試連接無論如何,無論API說什麼。但是如果我這樣做,那麼應用程序有可能被拒絕?
有沒有解決這個困境的方法?