私はスプラッシュビデオを再生し、カスタムフォントを追加したアプリを持っている。ipadアプリが新しいiOS 4.1.2でクラッシュするが、3.2で動作する
アプリはipad 3.2でも正常に動作しますが、4.2などでクラッシュします。ログには、私が割り当てたものをリリースすると書かれています。私は自分のコードを何百回もチェックしていますし、そのようなことはしません。
それは、シミュレータ上で、デバイス上で動作のどちらかの方法(両方とも3.2)
任意のアイデア?
EDIT:
<Error>: df(7903,0x3e3d7898) malloc: *** error for object 0x1a11b0: pointer being freed was not allocated
*** set a breakpoint in malloc_error_break to debug
Wed Jan 19 20:35:38 unknown UIKitApplication:com..imagazine[0x9c7c][7903] <Notice>: def(7903,0x3e3d7898) malloc: *** error for object 0x1a11b0: pointer being freed was not allocated
Wed Jan 19 20:35:38 unknown UIKitApplication:com.imagazine[0x9c7c][7903] <Notice>: *** set a breakpoint in malloc_error_break to debug
Wed Jan 19 20:35:39 unknown ReportCrash[7905] <Notice>: Formulating crash report for process df[7903]
Wed Jan 19 20:35:39 unknown com.apple.launchd[1] <Warning>: (UIKitApplication:com.imagazine[0x9c7c]) Job appears to have crashed: Abort trap
Wed Jan 19 20:35:39 unknown SpringBoard[27] <Warning>: Application 'df' exited abnormally with signal 6: Abort trap
Wed Jan 19 20:35:39 unknown ReportCrash[7905] <Error>: Saved crashreport to /var/mobile/Library/Logs/CrashReporter/df_2011-01-19-203538_Sumas-iPad.plist using uid: 0 gid: 0, synthetic_euid: 501 egid: 0
SOLUTION:すべての
まずNSZombiesを使用して、このようなエラーをキャッチします。
問題:0.2秒ごとにタイマーを設定していましたが、UIビューをクリアして割り当てていました。0.2秒ごとではなく、5秒ごとに1回です。 私は、標準のチェックでした:
if(vewCustom!= nil) {
[vewCustom removeFromSuperView];
[vewCustom release];
vewCustom = nil;
}
をしかし、奇妙なことは、私は倍のコード数百を検証し、私は解放し、それがiPhoneのためのiOS4.2に働いたのいずれかの方法を介してではなかったでした。
私はタイマーを削除しましたが、まだクラッシュしていましたが、リリースを削除しても問題なく動作しました。
奇妙ですが、誰かが私が間違っていることを説明できればいいと思います。
クラッシュしたスレッドのクラッシュレポートからバックトレースを表示してください。また、レポートに表示される例外タイプ。 – jer
「働く」ことは重要ではありません。間違ったコードが時々動作する可能性があります。どのようにvewCustomを作成しましたか?あなたはスーパービューが持っているものの外にリファレンスを持っていましたか? vewCustomは保持されているプロパティですか? –
はい、それは保持プロパティを持っていました。はい、スーパービューの外に参照がありました。しかし、私は無しであったかどうかを確認してからリリースしました。 –