我最近將iPhone升級到了iOS 6.1,並且我開發並在iOS 5.0上成功運行的應用程序現在在我釋放EASession對象時崩潰。iOS 6.0上沒有EASession版本問題(iOS 5.0中不存在)
以下錯誤日誌顯示在控制檯:
-[NSRecursiveLock dealloc]: lock (<NSRecursiveLock: 0x1f5afa00> '(null)') deallocated while still in use
Break on _NSLockError() to debug.
-[NSRecursiveLock unlock]: message sent to deallocated instance 0x1f5afa00
的,這是造成問題的代碼行是:
[_session release];
什麼是iOS中的兩個版本的變化,這將導致該問題?
非常感謝。
在發佈之前已經關閉了會話嗎?您需要先關閉會話,然後釋放它。 – brianLikeApple
您不能關閉會話對象本身,但您可以關閉連接到會話對象的輸入和輸出流,我已經完成了該操作。 – W0035521
對不起,我正在度假。我所做的是我從不直接調用發佈會。我總是進行關閉會話,這是第一次關閉輸入和輸出,然後釋放會話,如果該會話打開。當你釋放會話,而有輸入和輸出時,你就知道這個問題已經發生。 – brianLikeApple