EXC_BAD_ACCESSがiPhoneアプリから2.2 3.0シミュレータ
-
06-07-2019 - |
質問
もったアプリでした開発のiPhone SDK2.2いることで立ち上げ、3.0シミュレーション。基SDKは約2.2となります。きっかけになるかもしれないという問題です。で取得します
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x00000000a1b1c1f3
Crashed Thread: 0
Thread 0 Crashed:
0 libobjc.A.dylib 0x92f4b688 objc_msgSend + 24
1 Foundation 0x305085bd -[NSCFString isEqualToString:] + 61
2 HappyApp 0x00002c27 -[CombinationsTableViewController loadData] + 220 (CombinationsTableViewController.m:64)
の衝突で起こっている非常にシンプルなラインが total
は UITextField
if (![total.text isEqualToString:@""] ) {
で遭遇す。ような感じでスレッドの競合問題は、私の全アプリなの作成ます。この作品は2.2.1シミュレーション。この切な方法試験は2.2のアプリがOS3.0、そうしている以外に切り替えるドロップダウンボックス?
更新:アンドリュー Pouliotったたリナはこのたびの参考ます。デバッガのた指一本のラインを落とし、また間違いな示唆を得ることができ原因は実際にこの第一線:
if(!([total.text isEqual:totalTextCache]
&& [divisions.text isEqual:divisionsTextCache])) {
//Loads the data for the table only if the values were actually changed
totalTextCache = total.text; //ditto for divisions
}
これらのラインのみの利用 totalTextCache
, られるようになってきましたが無効の場合 total.text
を変更しました。こんによる問題の2.2.1simするかのように古い total.text
していきその実行時に変更。このコードでしたが、まったく違います。私は固定で変更することができるようになります何だと思いisEqualやっていた:
if(!(total.text==totalTextCache && divisions.text==divisionsTextCache))
Google moderatorのhelpを和訳してみましたんしたいコピーする NSString
sんだいに変更し、そのための基準が変更されたこの作品。の悪いコードで走ったのは2.2.1ランタイムでの参考まだまだ十分とはいえませんが、そのハッシュ性を確認しており isEqual
.
解決
時にインストールして使っていっ3.0SDKっ2.0のツールたいということができないのであるが、とは思わないシミュレータを構築できたのでバイナリ互換性の将来のランタイム.
そういう問題があるのだ。その場合、い間取りは使い勝手が良さそうです、メモリ管理の問題"ではなく、スレッドの競合".もうメインスレッドUIKitないスレッドしました。
チェックが設計変数あるんじゃないでしょうかであっても、すでに公表されている時間がございますのでご注意下この方法です。だretainCountは?
したいと思っている皆さんと同じエラーを構築する場合のための3.0?