2012-06-28 60 views
1

我有一個pdf文件,我想打開一個特定的應用程序,如iBooks。我想擁有它,以便用戶可以設置他們想要打開它的程序,以及可以處理它的當前安裝的程序。下面是我,讓我做到這一點的代碼,只有用戶必須選擇每次要使用的應用程序(一個額外的步驟我想避免):iOS - 用特定程序打開文件

NSString *stringVariable = cell.textLabel.text; 

NSString *homeDir = NSHomeDirectory(); 
homeDir = [NSString stringWithFormat: @"%@/%@", homeDir, @"Documents"]; 
NSString * filePath = [NSString stringWithFormat:@"%@/%@", homeDir, stringVariable]; 

documentController = 
[UIDocumentInteractionController 
interactionControllerWithURL:[NSURL fileURLWithPath:filePath]]; 
documentController.delegate = self; 
[documentController retain]; 
documentController.UTI = @"com.adobe.pdf"; 
[documentController presentOpenInMenuFromRect:CGRectZero 
             inView:self.view 
            animated:YES]; 

所以stringVariable包含的名字有問題的文檔,然後顯示能夠運行它的各種應用程序。如果我可以以某種方式將其填充到某種選擇器中,以便用戶可以選擇要使用的默認應用程序,那就太好了,但是如果我必須自己將它設置爲特定的應用程序(如iBooks),那麼可以工作太。

+0

我也想知道如何「強制」選擇。我想用某些其他應用程序從我的應用程序打開文件 - 但是我不想讓用戶使用類似'dropbox'的文件打開文件並保存我的文件副本。 – lifeIsGood

+0

目前似乎沒有辦法。我也環顧四周。 –

+1

我剛纔問了Apple Tech的支持,他們已經回覆說此刻不可能(剛剛iOS 6發佈後) – lifeIsGood

回答

0

使用UTI參數。舉例來說,如果你有5個應用程序,支持Instagram的URL方案和文件類型,只要使用此:

documentController.UTI = @"com.instagram.exclusivegram"; 

它不會讓選擇你,但它會限制選擇應用程序想要的。

+0

我知道,我在那裏列出了這一行。我已經在那個時候了,但是我想要在哪裏可以選擇你想要的應用。我從蘋果自己聽說,這是不可能的。 –

相關問題