我找不到解决此问题的适当方法。我想有人可以帮我清除这个错误。
摘要:
当我使用 3G 连接在设备上测试我的应用程序时,当控制台"purgeIdleCellConnections: found one to purge conn = 0x1ddde360"
多次显示此错误时,它以不同的 number 出现(0x1ddde360 or 0x21b98a60 or....)
。有时它挂起,应用程序崩溃并死掉。我无法打开应用程序。我必须删除并重新构建。当我使用 Wi-Fi 时,它工作正常:完全没有问题。
实际结果: 我在我的应用程序中使用 Web 服务 (WSDL)。在启动应用程序本身时,我调用了多个 Web 服务。此应用程序已在 App Store (Promayarnlite) 中,但该文件是使用 IOS 5.1 SDK 构建的,因此运行良好。现在我将我的 Xcode 更新到 4.5.1 和 IOS 6 SDK,所以我想在 App Store 中更新我的应用程序。我在这部分苦苦挣扎。
编辑:A:内部 NSURLConnection 维护一个连接缓存。每个缓存条目代表一组到主机的持久 HTTP 连接。当一个新请求进来时,它会在缓存中的一个条目上排队。这可能是一个现有条目,也可能是一个新条目,它还可能在该条目内生成一个新的 HTTP 连接,具体取决于各种复杂因素(保护空间、身份验证状态[在身份验证方法的情况下——是,我在看着你,NTLM!——有状态的]、流水线、各种缓存限制等等)。当与缓存条目关联的连接完成所有请求的运行时,它会在缓存条目的队列中查找更多工作;如果找不到任何连接,则连接空闲。如果连接空闲时间过长,
这种缓存实现在 iOS 6 中发生了变化。在 iOS 6 之前,清除空闲缓存条目的机制单一,Mac OS X 和 iOS 的超时时间完全不同(30 秒与 6 秒,iOS 值可能低至在旧版本的 iOS 上为 3 秒)。在 iOS 6 中,现在有两种清除空闲缓存条目的机制,一种适用于通过 WWAN 运行的连接,另一种适用于所有其他连接。WWAN 超时已降至其传统值(3 秒),而所有其他连接超时已提高到旧的 Mac OS X 默认值(30 秒)。
您看到的日志消息是在清除 WWAN 连接时生成的。此日志消息在 iOS 5.x 中不存在,这解释了为什么您在测试中没有看到它。然而,基本机制以一种或另一种形式存在于所有版本的 iOS 中。
此消息更可能是症状而不是原因。具体来说,该消息仅适用于空闲连接;这只是 NSURLConnection 清理没有做任何有用的持久 HTTP 连接。如果您的网络出现问题,您需要调查连接空闲的原因。