いくつかの注釈を含む PDF ページを (電子メールで) レンダリングしようとしていますが、ほとんどの場合、これは正常に機能します。
ただし、特にこのPDFでは、最初のページの CGContextDrawPDFPage を呼び出すたびにクラッシュするようです。私が追加しました
CGContextSetInterpolationQuality(context, kCGInterpolationHigh);
CGContextSetRenderingIntent(context, kCGRenderingIntentDefault);
大量のメモリを消費する CGContextDrawPDFPageからの推奨事項として、それは私の問題を解決していないようでした。
これをプロファイラーで実行して何が起こっているのかを確認したところ、メモリの割り当てがゆっくりと開始され、最終的に 512MB のライブ バイトに達して終了しました。
奇妙なことに、これを画像 (デバイスでの表示用) コンテキストにレンダリングすると正常に動作するように見えますが、PDF コンテキスト (注釈付きの電子メール送信用) にレンダリングすると壊れます。私が試した他のすべての PDF は、どちらの場合も正常に動作します。
PDF ビューアー/アノテーターを作成したことがある人がこれをテストして、このドキュメントが機能するかどうかを確認できることを期待していました。
私が調べたもう 1 つのリソースは、この素晴らしいSO Question です。
編集(クラッシュに関する詳細情報):
90% の確率で、クラッシュは実際には表示されず、gdb の行は表示されますが、アプリは消え、スタック トレースは表示されません。(一時停止と表示されますが、スレッド表示はありません)。ある時、それが exc_bad_access であるのを見たことがあり、ログに次のように表示されました。
malloc: *** mmap(size=16777216) failed (error code=12)
*** error: can't allocate region
*** set a breakpoint in malloc_error_break to debug