libxml2 HTMLParser モジュールを使用して iOS で Web ページの HTML を解析するプロジェクトに取り組んできました。次の行を含む Web ページを解析しようとすると、libxml2 の htmlParseDocument から EXC_BAD_ACCESS エラーが発生します。
<?xml version="1.0" encoding="UTF-8"?>
この行を HTML から取り除くと、解析は完全に機能します。
また、DTHTMLParser クラスを使用して libxml2 SAX コールバックを Objective-C コードにバインドしていることにも注意してください。
htmlParseDocument の EXC_BAD_ACCESS についてはあまり詳しく説明しないので、エラーを再現する Xcode プロジェクトのサンプルを作成しました。iOS 5.1 を対象とした Mountain Lion の Xcode 4.4 で作成しました。まず問題の行を含まない HTML ファイルを解析し、次に問題の行を含むドキュメントを解析しようとしてクラッシュします。ここからダウンロードできます: http://michaelmanesh.com/code/libxml2-crash.zip