私は次の機能を持っています:
- (void)loadPdfFromPath:(NSString*)path
{
NSURL *pathUrl = [NSURL URLWithString:path];
_pdfDocument = CGPDFDocumentCreateWithURL((CFURLRef)pathUrl);
}
Toll-Free Bridgingを介してanNSURL*
から a にケースできるため、ドキュメントからどれがうまくいくと信じています。ただし、この関数は失敗し、ログに次の出力が表示されます。CFURLRef
CFURLCreateDataAndPropertiesFromResource: エラー コード -15。
注意: -15 =kCFURLImproperArgumentsError
ただし、実際のを作成すると、CFURLRef
まったく問題なく動作します。
- (void)loadPdfFromPath:(NSString*)path
{
CGPDFDocumentRelease(_pdfDocument);
CFStringRef cgPath = CFStringCreateWithCString(NULL, [path UTF8String], kCFStringEncodingUTF8);
CFURLRef url = CFURLCreateWithFileSystemPath(NULL, cgPath, kCFURLPOSIXPathStyle, 0);
_pdfDocument = CGPDFDocumentCreateWithURL(url);
CFRelease(url);
CFRelease(cgPath)
}
私は何が欠けていますか?コードに 2 番目の関数を残しておいてよかったのですが、最初の関数が失敗した理由を知りたいです。