2013-04-16 66 views
0

我正在生成一個PDF文件,並試圖預覽它,如下所示,但URL通常返回NIL,儘管我的格式(這似乎解決了這個常見問題的其他人的問題)。我一定會錯過更多的東西。有任何想法嗎?NSURL總是爲零編碼

NSArray *path = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);  
NSString *docDirectory = [path objectAtIndex:0]; 

    docDirectory = [docDirectory stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; 

    NSURL *URL = [[NSBundle mainBundle] URLForResource:docDirectory withExtension:@"pdf"]; 
if (URL) { 
    // Initialize Document Interaction Controller 
    self->documentInteractionController = [UIDocumentInteractionController interactionControllerWithURL:URL]; 
    // Configure Document Interaction Controller 
    [self->documentInteractionController setDelegate:self]; 
    // Preview PDF 
    [self->documentInteractionController presentPreviewAnimated:YES]; 
} 

回答

1

您的路徑創建似乎全部出了問題。嘗試是這樣的:

NSArray *path = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);  
NSString *docDirectory = [path objectAtIndex:0]; 
NSString *filename = @"myfile.pdf"; // replace with the actual filename you used 
NSString *fullPath = [docDirectory stringByAppendingPathComponent:filename]; 
NSURL *fullURL = [NSURL fileURLWithPath:fullPath]; 

在你發佈你沒有提供一個文件名的代碼。你有Documents目錄和pdf擴展。在這種情況下,不需要「跳出」URL。

0

你可能會感到困惑的是如何獲取到你的文件的路徑:NSSearchPathForDirectoriesInDomains用來去(例如)文檔目錄的絕對路徑。 NSBundleURLForResource:withExtension:另一方面使用提供的名稱在應用程序包裝器中搜索文件。

把兩者混合在一起不會有好處。您應該只需查看文檔目錄即可。