2012-02-18 74 views
3

我和朋友正在爲Mac應用程序商店開發應用程序。我們將它提交給應用商店,但蘋果拒絕了它,這是基於我們之前從未經歷過的錯誤。我們很難再現錯誤,但經過一段時間的調試後,我們發現錯誤只出現在存檔產品中。僅在歸檔的Mac OS X產品中出現的錯誤

該錯誤的症狀是,我們的應用程序中的某些按鈕在使用該應用程序一段隨機時間後突然停止響應。我們唯一一次看到這個問題是在一個存檔的應用程序,所以試圖找出導致問題的原因是困難的。

當我們存檔我們的應用程序時,實際發生了什麼?它與在Xcode中直接運行的版本有什麼不同?有沒有人遇到類似的問題?

回答

3

你發現的是一隻海森蟲。

當您構建用於調試的代碼時,編譯器不優化您的最終構建產品。當您存檔您的應用程序時,編譯器將優化最終產品,使其運行速度更快,佔用更少的內存。只有優化代碼時纔會顯示您的錯誤。

您可能會遇到死鎖或某些其他競爭條件,這些條件在您的應用程序的調試版本中不存在。您可以構建並針對目標的發佈配置運行,並查看是否可以確定它可能發生的位置。

然而,沒有看到代碼,SO對你沒有多大的幫助。祝你好運!

+0

謝謝您的信息!我們現在已經解決了這個問題,它顯然與歸檔應用程序發送太多查詢到我們的數據庫有關,這是我們在調試版本中看不到的問題。希望蘋果現在可以接受這個應用程序! :) – Daniel 2012-02-18 12:23:51