2014-01-15 80 views
3

我正在開發一個iPad應用程序,它能夠從網上下載不同類型的文件。我想給用戶的選項打開下載的文件(我的應用程序無法處理)到設備中安裝的其他應用程序。從我的iOS應用程序打開PDF文件與特定的外部應用程序

我知道這可以通過使用UIDocumentInteractionController來完成,但我想跳過此方法中的顯示選項。

例如:從網站下載PDF文件後,點擊「打開」按鈕後,應該會自動打開設備中的Adobe Reader應用程序。

CustomURL是啓動特定應用程序的有用方法,但可能很難獲取某些應用程序的URL方案。

請分享您的想法。

在此先感謝。

+1

您需要使網址生效。已安裝應用程序中的已註冊URL是文檔交互控制器的基礎。 – Wain

+0

是否有任何方法從UIDocumentInteractionController獲取URL或相關詳細信息? – itZme

+0

不太可能。你也許可以從UI獲取應用名稱,但不能獲取基礎URL。 – Wain

回答

0

你需要做的方法,要麼從網絡選項或市話(你想嗎?)選項。

從網絡直接:

UIWebView *theWebView = [[UIWebView alloc] initWithFrame:CGRectMake(10, 10, 200, 200)]; 

NSURL *targetURL = [NSURL URLWithString:@"http://yoursiteweb/directory/file.pdf"]; 
NSURLRequest *request = [NSURLRequest requestWithURL:targetURL]; 
[theWebView loadRequest:request]; 

[self.view addSubview:theWebView]; 

從你的包後,你我downladed文件:

UIWebView *theWebView = [[UIWebView alloc] initWithFrame:CGRectMake(10, 10, 200, 200)]; 

NSString *path = [[NSBundle mainBundle] pathForResource:@"file" ofType:@"pdf"]; 
NSURL *targetURL = [NSURL fileURLWithPath:path]; 
NSURLRequest *request = [NSURLRequest requestWithURL:targetURL]; 
[theWebView loadRequest:request]; 

[self.view addSubview:theWebView]; 
0

例如:從下載網頁PDF文件後,在點擊一個 按鈕「打開」,它應該自動打開到Adobe Reader 應用程序離子在設備中。

你想打開另一個應用程序。如果你不知道它的URL模式,你怎麼打開它?通過URL模式是我們可以用來在一個應用程序中啓動另一個應用程序的唯一方式。 Apple不提供獲取可打開文件的應用程序列表的方法。因此,您需要知道每個要打開的應用的確切URL模式。確實有點令人沮喪。

+0

UIDocumentInteractionController是一個可行的選項,列出了所有可以處理特定類型文件的應用程序,可能它使用URL模式來啓動應用程序。 URL架構或來自UIDocumentInteractionController的細節?任何猜測? – itZme

+0

@itZme對不起,我的猜測是沒有辦法的。 – sunkehappy

相關問題