我無法找到適當的解決方案來解決這個問題。我認爲有人可以幫助我清除這個錯誤。purgeIdleCellConnections:找到一個清除conn = 0x1ddde360
摘要: 當我使用3G連接到該設備上測試我的應用程序,由當時的控制檯顯示這個bug "purgeIdleCellConnections: found one to purge conn = 0x1ddde360"
超過一次,它有不同數量的(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中更新我的應用程序。我正在爲這部分努力。
編輯:答:內部NSURLConnection維護連接緩存。每個緩存條目表示一組到主機的持久HTTP連接。當有新的請求進入時,它將在緩存中的條目上排隊。這可能是一個現有的條目,或者它可能是一個新的條目,它也可能在該條目內生成一個新的HTTP連接,具體取決於各種複雜因素(保護空間,身份驗證狀態[在身份驗證方法的情況下 - 是,我在看你,NTLM! - 這是有狀態的],流水線,各種緩存限制等等)。當與緩存項相關聯的連接完成其所有請求時,它會在緩存項的隊列中尋找更多的工作;如果它沒有發現任何連接閒置。如果連接空閒時間過長,則清除連接(這會關閉底層的TCP連接)。
此緩存實現在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連接。如果您的網絡出現問題,則需要調查連接閒置的原因。
https://developer.apple.com/library/ios/#qa/qa1774/_index.html#//apple_ref/doc/uid/DTS40012992 – fellowworldcitizen
可能的重複[purgeIdleCellConnections:找到一個清除conn = 0x1d57ba00](http://stackoverflow.com/questions/14754828/purgeidlecellconnections-found-one-to-purge-conn-0x1d57ba00) –