【问题标题】:Opening a URL files (.pdf) in Safari from UIWebView从 UIWebView 在 Safari 中打开 URL 文件 (.pdf)
【发布时间】:2013-12-02 10:26:51
【问题描述】:

我需要我的应用程序识别.PDF 扩展,并在Safari 中打开它而不是我的UIWebView,但是如果我调用诸如http://google.com 之类的域,我希望它在UIWebView 中打开它.

请指教

【问题讨论】:

  • 感谢 Mutawe 的翻译。英语不是我的第一个(或其他)lenguaje。

标签: ios iphone xcode pdf uiwebview


【解决方案1】:

您也可以检查 MIME 类型,以获得稍长的旅程:

@property (nonatomic, strong) NSString *mime;

- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response 
{
   mime = [response MIMEType];
}

- (BOOL)isDisplayingPDF {
    NSString *extension = [[mime substringFromIndex:([mime length] - 3)] lowercaseString];

    return ([[[self.webView.request.URL pathExtension] lowercaseString] isEqualToString:@"pdf"] || [extension isEqualToString:@"pdf"]);
}

您应该使用以下打开 URL 文件 (.pdf):

NSURL *url = [NSURL URLWithString:@"http://www.stackoverflow.com/dd.pdf"];

if (![[UIApplication sharedApplication] openURL:url])

NSLog(@"%@%@",@"Failed to open url:",[url description]);

【讨论】:

    【解决方案2】:

    试试这个,它会在不使用 webview 的情况下在 safari 中打开

    - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
    {
    if (url != nil && [url isFileURL]) {
        if ([[url pathExtension] isEqualToString:@"pdf"]) {
            NSLog(@"URL:%@", [url absoluteString]);
        }
    }
    return YES;
    }
    
    
    - (void)viewDidLoad
    {
    [super viewDidLoad];
    
    NSURL *url = [NSURL URLWithString:@"your pdf url"];
    
    if (![[UIApplication sharedApplication] openURL:url])
        NSLog(@"%@%@",@" open url:",[url description]);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-01-07
      • 1970-01-01
      • 2015-03-07
      • 2023-03-10
      • 2016-04-16
      • 2015-12-02
      • 2014-10-05
      • 2014-03-18
      相关资源
      最近更新 更多