1

編集

この問題はASIHTTPRequestに関連しています。ASIHTTPRequest非同期ブロックを削除すると、デバイスでアプリがクラッシュしなくなります。Xcodeから正常にロードされたASIHTTPRequestコードをデバイスで実行できます。TestFlightからアーカイブをアップロードして実行しようとすると、クラッシュします。デバイスのクラッシュログには次の情報が表示されます。

例外タイプ:EXC_BAD_ACCESS(SIGSEGV)例外コード:0x00000058でのKERN_INVALID_ADDRESSクラッシュしたスレッド:0

スレッド0の名前:ディスパッチキュー:com.apple.main-スレッドスレッド0がクラッシュしました:

突然、今日、TestFlightを介してアップロードされたアドホックビルドと実行が20回成功した後、最後の3つのAD HocがTestFlightに正常にアップロードされましたが、テストデバイスでクラッシュしました。

これらのビルドは、Xcodeからデバイスに移行するときに完全に実行されます。実際、アプリを終了し、デバイスをXcodeから切断すると、アプリは正常に実行され、前述のように、ADHoc配布プロファイルを使用してこれらのビルドをTestFlightに正常にアップロードできます。しかし、インストールして実行すると、アプリは起動イメージまで実行されてからクラッシュします。

Xcodeのすべての設定は変更されていないので、これを引き起こしている可能性があるものを知っているかどうか疑問に思います。

TestFlightのXcodeVSからビルドして実行する場合の唯一の違いは、AD Hocディストリビューションプロファイルのように聞こえますが、機能しなくなったのは奇妙なことです...

他の誰かがその問題を抱えていますか?

次に何を試してみるべきですか?

4

1 に答える 1

0

私はこれとまったく同じ問題を抱えていました.XCodeから直接ビルドすると問題なく動作しましたが、AD Hocを介してデプロイすると毎回クラッシュしました. 理由はわかりませんが、問題はASIHTTPRequest完了と失敗のブロックにあります。これが私がそれを回避した方法です。

ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
        [request setDidFinishSelector:@selector(completedImg:)];
        [request setDidFailSelector:@selector(failedImg:)];
        [request setDelegate:self];
        [request startAsynchronous];

注* ビデオをダウンロードするときにのみこのクラッシュが発生しました (何らかの理由でドキュメントと画像で正常に動作します)。

于 2012-10-03T21:07:36.227 に答える