2010-08-08 55 views

回答

0

在一定的清晰度增加這個答案:

我剛跑過一個測試。我在啓動時將此代碼插入到我的應用程序中:

if(getenv("NSZombieEnabled") || getenv("NSAutoreleaseFreedObjectCheckEnabled")) 
    assert(NO); 

然後根據下圖配置XCode。

NSZombieEnabled in xcode

我發起調試器中的設備上我的應用程序。正如預期的那樣,它以斷言失敗而告終。然後,我斷開調試器並在設備上正常啓動應用程序。沒有崩潰。因此,如果您在XCode中以下面的方式配置NSZombieEnabled,那麼您似乎可以提交給應用商店。

+0

謝謝你的回答!我也學會了NSAutoreleaseFreedObjectCheckEnabled選項。 – tokentoken 2011-08-04 00:16:14

6

取決於您如何設置它。可以在運行時切換。

如果你剛纔在Xcode環境中設置了它,那麼 - 不 - 它將不會在Xcode之外的設備上運行時被設置。

(注意:啓用了殭屍檢測使用的內存因爲它有效地使沒有對象被釋放,只是標記爲「應該已經釋放」)

+0

謝謝你的回答。 是的,我把它設置爲Xcode,就像這個截圖一樣。 http://www.tomwhitson.co.uk/blog/2009/04/debugging-with-nszombiesenabled/ – tokentoken 2010-08-08 23:31:09

+0

你也可以閱讀這篇文章:http://stackoverflow.com/questions/1622079/break- on-exc-bad-access-in-xcode/1622091#1622091 – iwasrobbed 2010-08-09 00:08:09

+0

你從哪裏得到那個信息包? – beOn 2010-09-09 20:36:42

相關問題