我正在優化iOS 7的舊應用程序,並且必須處理以前從未處理過的非ARC代碼。麻煩的是在應用程序內購買圖書館MKStoreKit。該應用程序正在使用它的舊版本和修改版本。我無法使用較新的版本,因爲無法訪問服務器。 的代碼行,這是造成錯誤是:「發送到解除分配的實例的消息」錯誤
[MKStoreManager sharedManager];
錯誤本身是:
-[MKStoreManager retain]: message sent to deallocated instance 0x145e6ba0
我用NSZombie,這是我的了:
所以,任何幫助將不勝感激。我已經花了三天時間,試圖解決這個問題。
UPDATE: MKStoreManager.m: http://pastebin.com/ZppTkxmN
MKStoreManager.h: http://pastebin.com/TJVM7UdN
行,導致錯誤:
當你打電話給sharedManager時,你會得到這個錯誤嗎?你有MKStoreKit的修改版本的源代碼嗎? 3天似乎足夠學習非ARC,你知道保留髮布的東西,對吧? –
我已經用MKStoreManager代碼更新了這個問題。當然,我對非ARC有一個基本的瞭解,但看起來這是不夠的。 – etolstoy
我建議從Breakpoint Navigator中添加Exception Breakpoint。它會告訴你哪一行引發異常。 sharedManager方法看起來像一個有效的方法。 –