iPhone OS のPDF表示APIのバグ

iPhoneOSのPDF表示APIを触っていたところバグに遭遇した。

再現コードはこんな感じ

CFURLRef url
= CFURLCreateWithFileSystemPath(NULL,
	(CFStringRef)filePath_,
	kCFURLPOSIXPathStyle,
	0);
CGPDFDocumentRef doc = CGPDFDocumentCreateWithURL(url);
CFRelease(url);
if(!doc)return;
CGPDFPageRef page = CGPDFDocumentGetPage(doc, 1); //ここで1ページ目を取得
NSLog(@"page address:0x%x", page); //Logを出しておく
CGPDFPageRelease(page); //リリース
CGPDFPageRef page2 = CGPDFDocumentGetPage(doc, 1); //ここで1ページ目をもう一回取得

//ここで出力した内容が上のログと同じアドレス
//つまりRelease をしたにも関わらず、
//キャッシュしている同じアドレスを示す
NSLog(@"page address:0x%x", page); 

//ここでpage2を使うと落ちる 
CGRect aRect = CGPDFPageGetBoxRect (page2, kCGPDFCropBox);


下記のページ
Life is beautiful: iPadアプリ作成日誌: PDF関連APIのバグについて
http://satoshi.blogs.com/life/2010/05/ipad%E3%82%A2%E3%83%97%E3%83%AA%E4%BD%9C%E6%88%90%E6%97%A5%E8%AA%8C-pdf%E9%96%A2%E9%80%A3api%E3%81%AE%E3%83%90%E3%82%B0%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6.html

でCGPDFPageRef をキャッシュしているみたいという事なので恐らく同じバグと思われる。
対策方法はやはり、CGPDFDocumentRefを毎回開放するという事みたい。