16

ユーザーが入力したデータをPDFファイルに表示するアプリに取り組んでいます。PDF ファイルも動的に作成されます。

これはすべて問題ありません。

PDFファイルを表示するQuickLookフレームワークを実装しました。QL フレームワークを呼び出すと、PDF ファイル ID は問題なく表示されますが、呼び出し画面に戻ると、クラッシュ ログやメモリ警告なしでアプリがクラッシュします。

以下のコードで QL を呼び出しています。

[[self navigationController] presentModalViewController:qlPreviewer animated:YES];

作成されるログは

DiskImageCache: Could not resolve the absolute path of the old directory.
[Switching to process 3070 thread 0x17603]
[Switching to process 3070 thread 0x15503]

これは非常に興味深いです..... Instruments でリークとメモリ管理をチェックするために同じプログラムを実行すると、PDF ドキュメントがスクロールされ、すべてのページが表示されたときにのみリークが見つかります。ただし、興味深いことに、アプリのクラッシュは見られません。また、私はそれを使って試してみましZombieEnabled = YESたが、Instruments でアプリがクラッシュすることはありませんでした。

私はこれを解釈する方法についてまったく無知であり、これを解決するためにさまざまなことを試みてきました. また、UIWebView を試してみましたが、結果は同じです。

問題を確認するためにもう一度何かを試してみたところ、興味深いことがわかりました。X-Code からコードを直接実行すると、上記で説明したようにクラッシュが発生します。

他の例では、シムでアプリをクリックしてアプリを実行すると...クラッシュしません

私はまだデバイスでこれを確認していません。誰かがデバイスのクラッシュを確認できますか?

また、Google はこの質問に対する回答を持っていません。

ご回答ありがとうございます。誰でもこれに光を当てることができますか?

4

8 に答える 8

11

私はまったく同じ問題を抱えています。

回避策として、「すべての例外」ブレークポイントを無効にするか削除することができます。これにより、デバッグが少し難しくなる可能性がありますが、アプリケーションを常に再起動しなければならないほど悪くはありません。

問題の原因となっているブレークポイント

これが問題の原因となっているブレークポイントです。ずっと前に設定したので、そこにあることを忘れていました

于 2012-05-17T02:32:00.657 に答える
5

デバイスからアプリケーションを削除すると、この問題を解決できました。また、最初に「製品 > クリーン」を試して、すべてのリソースがデバイスにコピーされることを確認してください。

于 2013-11-05T20:33:02.477 に答える
3

私はこのコードで私のものを修正することができました:

FirstViewController.h

NSURLRequest* reqObj;
@property(nonatomic, retain) NSURLRequest* reqObj;

FirstViewController.m

reqObj = [NSURLRequest requestWithUrl:url cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:60.0];

NSURLConnection* conn = [[NSURLConnection alloc] initWithRequest:reqObj delegate:self];

次に、この行の後にビューにロードする代わりに、待機してconnectionDidFinishLoadingからビューにロードします

于 2012-07-20T03:27:18.727 に答える
2

興味深い: これは私のアプリでも始まったばかりです。リークをチェックするときにエラーは発生しませんが、sim でアプリを実行すると、実際にはクラッシュではなくブレークポイントが発生します。続行を押すと、アプリは引き続き実行されますが、問題ありません。
私の問題も PDF に関連していますが、Web ビューを使用してアプリ バンドルから PDF を表示しているだけです。dealloc のすべてをチェックしました。すべて問題ありません。これは iOS 5.1 のバグである可能性があります。詳細がわかり次第更新します。

于 2012-05-04T20:10:21.877 に答える
1

これは、コード内のオブジェクト参照を削除したが、その参照が xib 内にある場合に発生する可能性があります。不要になったコンセントを削除します。

于 2013-03-06T10:58:56.790 に答える
1

@JimP、これは iOS 5.1 のバグではありません。iOS5.0の私のアプリにも起こり始めました。1ページ以上の長さのpdfにのみ影響するようで、ドキュメントの最後を過ぎてスクロールするときに最も一般的にトリガーされるようです(ただし、それよりも早い場合もあります)。また、2 回目のロードでより頻繁に発生するようです。

于 2012-05-06T04:12:51.283 に答える
0

iOS 8 に変換しているアプリで PDF ファイルをロードするというこの問題に遭遇しました。このアプリは最初の iPhone から正常に動作しています。All Exceptions ブレークポイントを削除して回避しました。

于 2014-11-29T22:31:24.187 に答える
-1

同じ問題かどうかはわかりませんが、タブ バー コントローラーを使用して PDF ビューから別のビューに 3 回以上切り替えるとクラッシュするという問題がありました。

切り替えていたビューをナビゲーションコントローラー内に埋め込むと、クラッシュが停止することが判明しました。

于 2012-10-18T16:15:48.633 に答える