我的应用程序包中有test.pdf
文件。我在iPhone模拟器(iPad)中运行测试,我无法填充CGPDFDocumentRef。我疯了还是什么?!?
这是示例应用程序中的一段代码,专门用于此(ViewController类):
- (void)viewDidLoad {
[super viewDidLoad];
// below code to show files in app bundle...
NSString *path = [[NSBundle mainBundle] resourcePath];
NSFileManager *fm = [NSFileManager defaultManager];
NSError *error = [[NSError alloc] init];
NSArray *directoryAndFileNames = [fm contentsOfDirectoryAtPath:path error:&error];
//just to make sure the file is there : (test.pdf)
for (NSString *ts in directoryAndFileNames) {
NSLog(ts); // NSLog confirms the file is there
}
//Function below is supposed to create the CDPDFDocumentRef
[self updatePageRef]; // try to get the CGPDFDocumentRef
}
-(BOOL)updatePageRef {
NSLog(@"Updating PAGE");
NSString *pdfStringURL = [[NSBundle mainBundle] pathForResource:@"test" ofType:@"pdf"];
NSURL *pdfURL = [NSURL fileURLWithPath:pdfStringURL];
NSLog([pdfURL path]); // this is good
NSLog(@"File Exists = %d", [[NSFileManager defaultManager] fileExistsAtPath:pdfStringURL]); // this gives me 1 (YES)
pdf = CGPDFDocumentCreateWithURL((CFURLRef)pdfURL);
//from here on the pdf is nil??????????!!!!!!!!!!!!!
if (pdf && CGPDFDocumentGetNumberOfPages(pdf) > 0) {
return YES;
}
return NO;
}
在pdf
之上在@interface中声明为CGPDFDocumentRef pdf;
我知道PDF文件很好,因为我已经在'预览'中成功打开了它。
一切都在没有任何警告和错误的情况下编译和运行。
帮助!
答案 0 :(得分:1)
我找到了一个解决方案,对不起要问第一名。 尽管PDF在“预览”中表现得非常完美,但PDF并不是很好。 我已经把另一个pdf命名为'test.pdf',一切顺利。
干杯!