检查为打开的ppt,pdf文件安装的应用程序

时间:2015-02-27 07:47:08

标签: ios objective-c xcode uidocumentinteraction

如何检查是否安装了任何应用程序以在设备中打开PPT,PDF。如果设备中安装的任何应用程序我想显示一条警报,请好好建议我。

1 个答案:

答案 0 :(得分:0)

首先需要做的是确定要与之交互的PDF阅读器是否具有URL方案。因此,您可能希望搜索某些PDF应用,例如GoodReaderAdobe Reader。找到它们后,您只需使用canOpenURL:方法检查是否可以使用URL方案打开PDF。所以你的代码可能看起来像。

- (void)openPDFFromURL:(NSString *)pdfUrlStr
{
    // Create our url out of the string passed in.
    NSURL *url = [NSURL urlWithString:[pdfUrlStr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
    // Check that we can actually open the url.
    // If the app for the url scheme you have passed in exists 
    // it will return true. Also see additional comments after code.
    if ([[UIApplication sharedApplication] canOpenURL:url]) {
        UIAlertView *successAlert = [[UIAlertView alloc] 
                              initWithTitle:@"Success"
                              message:@"You can open the URL"
                              delegate:self
                              cancelButtonTitle:@"Cancel"
                              otherButtonTitles:@"OK", nil];
        [successAlert show];
        // You could also provide the below line to actually 
        // open the url
        // [[UIApplication sharedApplication] openURL:url];
    } else {
        // We are able to open the url
        UIAlertView *failedAlert = [[UIAlertView alloc] 
                              initWithTitle:@"Failed"
                              message:@"You can't open the URL"
                              delegate:self
                              cancelButtonTitle:@"Cancel"
                              otherButtonTitles:@"OK", nil];
        [failedAlert show];
    }
}

如果您不知道任何具有用于打开PDF的URL方案的应用程序,您只需传入网站上PDF位置的URL,它就会检查它是否可以在Safari中打开。

请注意,我不知道任何打开PDF的应用程序的URL方案是什么,您必须自己找到这些,上面的代码只检查您传入的参数是否可以打开并提供{{ 1}}基于结果。