我正在開發一個下載或查看PDF文件的iPhone應用程序。如何顯示可在iOS中打開PDF的外部應用程序列表?
在此應用程序中,我想顯示可以查看PDF(iBooks,Adobe Reader等)的可能外部應用程序的列表。我怎麼能確定這些應用程序,並點擊我的應用程序中的按鈕時提出這樣一個列表?
我正在開發一個下載或查看PDF文件的iPhone應用程序。如何顯示可在iOS中打開PDF的外部應用程序列表?
在此應用程序中,我想顯示可以查看PDF(iBooks,Adobe Reader等)的可能外部應用程序的列表。我怎麼能確定這些應用程序,並點擊我的應用程序中的按鈕時提出這樣一個列表?
您可以通過兩種不同的情況來實現這一點,因爲這取決於您的要求。在這裏我已經包括兩種情況,&這將有魅力的工作:
案例1:下載的PDF,把它寫在本地&設置的路徑。
NSData *pdfData = [[NSData alloc] initWithContentsOfURL:[NSURL URLWithString:@"PDFurlString"]];
//Store the Data locally as PDF File
NSString *resourceDocPath = [[NSString alloc] initWithString:[[[[NSBundle mainBundle] resourcePath] stringByDeletingLastPathComponent] stringByAppendingPathComponent:@"Documents"]];
NSString *filePath = [resourceDocPath stringByAppendingPathComponent:@"myPDF.pdf"];
[pdfData writeToFile:filePath atomically:YES];
//Now create Request for the file that was saved in your documents folder
NSURL *url = [NSURL fileURLWithPath:filePath];
NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
[webView setUserInteractionEnabled:YES];
[webView setDelegate:self];
[webView loadRequest:requestObj];
案例2:直接瀏覽PDF使用NSData的WebView中。
[webview loadData:fileData MIMEType:@"application/pdf" textEncodingName:@"utf-8" baseURL:nil];
現在,到了最後,如果你正在尋找打開PDF到一些其他的應用程序,
第1步: 使用第一種情況,只要抓住了網址。
第2步: 您可以找到這些url schemes here這些最大的數據庫。現在,如何使用?我們需要的只是UIApplication。首先,我們需要檢查iOS是否可以打開特定的網址。
[[UIApplication sharedApplication] canOpenURL:[NSURL urlWithString:@"fb://profile"]];
步驟3:如果此方法返回是,那麼用戶安裝Facebook應用程序。要打開以下應用程序,您需要撥打:
[[UIApplication sharedApplication] openURL:[NSURL urlWithString:@"fb://profile"]];
這將在Facebook應用程序上打開您的Facebook配置文件。
唉,不可能在iOS上禁用任何其他應用程序,因爲每個第三方軟件都在沙箱中。
希望這對你有幫助。
他想在外部應用程序中打開它! – Eiko
@Eiko我已經根據需求編輯了答案。我確信這將確實幫助用戶獲得正確的URL並用共享實例打開。 –
他想在外部應用程序中打開。你解釋瞭如何在webview中打開...然後你向我們展示瞭如何打開Facebook應用程序,但是這與pdfs有關。 –
可能的答案是[here](http://stackoverflow.com/questions/2774343/how-do-i-associate-file-types-with-an-iphone-application)官方文檔是[here](http ://developer.apple.com/library/ios/#documentation/FileManagement/Conceptual/DocumentInteraction_TopicsForIOS/Articles/PreviewingandOpeningItems.html#//apple_ref/doc/uid/TP40010410-SW1) –