2012-02-18 14 views
3

私の友人と私はMac App Store用のアプリを開発しています。私たちはそれをアプリストアに提出しましたが、Appleは自分で経験したことのないバグに基づいてそれを拒否しました。エラーを再現するのは苦労しましたが、しばらくの間デバッグした後、バグはアーカイブされた製品にしか見られませんでした。アーカイブされたMac OS X製品にのみ表示されるバグ

このバグの症状は、アプリをランダムに使用した後に突然アプリのボタンの中に反応が停止することがあるという症状です。私たちがこの問題を見る唯一の時間は、アーカイブされたアプリの中にあるので、問題の原因を見つけることは難しいです。

アプリをアーカイブするときに実際に何が起こっていますか? Xcodeで直接実行されているビルドとはどのように違いますか?あなたの誰かに似たような問題を経験しましたか?

答えて

3

あなたが見つけたのは、ヒーゼーンバグです。

デバッグ用のコードをビルドすると、コンパイラは最終ビルド製品を最適化しません。アプリケーションをアーカイブすると、コンパイラは最終製品を最適化し、より速く実行し、メモリを削減します。あなたのバグは、コードを最適化したときにのみ表示されます。

アプリケーションのデバッグバージョンに存在しないデッドロックまたはその他の競合状態が発生している可能性があります。ターゲットのリリース構成に対してビルドして実行し、発生する可能性がある場所を特定できるかどうかを確認できます。

しかし、コードを見ることなく、あまり役に立ちません。がんばろう!

+0

ありがとうございました!私たちは今問題を解決しました。明らかに、アーカイブされたアプリケーションがデータベースに多すぎるクエリを送信することが必要でした。私たちのデバッグバージョンでは見えなかった問題です。うまくいけばリンゴは今すぐアプリを受け入れます! :) – Daniel

関連する問題