几周前,通读了 Apple 指南,它说应用程序应该在尝试建立连接之前检查可达性状态,我读过应用程序商店因为不这样做而被拒绝的应用程序。
然而,可达性 API 最多可能需要 30 秒(根据 Apple 文档,而且我自己有时也看到过这种情况)来确定可达性是否可用。在这种情况下,API 返回不可访问。
因此,您可能会遇到这样的情况,即您确实具有可达性,但 API 说您没有,并且您在 30 秒左右不会发现您做到了。
必须等待 30 秒的时间长得令人无法接受——尤其是在连接已由用户发起的情况下。考虑这种情况:
- 用户单击执行某些与 Internet 相关的活动的按钮
- 根据 Apple 指南,代码使用可达性 API 在尝试建立连接之前检查是否存在可达性。
- Reachability API 表示不存在可达性(但实际上存在),因此代码告诉用户不存在连通性(在此过程中使他们感到困惑)
- 30 秒后,可达性 API 通知代码现在可达性
- 但为时已晚,因为用户已经厌倦了等待,因此退出了应用程序并去了其他地方。
通过遵循 Apple 的指南来首先检查可访问性,很有可能会导致绝对糟糕的用户体验,并且应用程序在本可以完成时没有联系服务器。
这看起来很荒谬,我肯定错过了什么吗?
如何在提供响应式应用程序的同时遵循 Apple 的指导方针?
我在 Reacability API 中遇到了这些延迟并想放弃它 - 因为我见过它说没有可达性但如果你尝试有的情况,因此我希望我的应用程序无论如何都尝试连接API说。但如果我这样做,那么应用程序有可能被拒绝吗?
有解决这个困境的办法吗?