【问题标题】:How to get Source URL from -(bool) application openURL?如何从 -(bool) 应用程序 openURL 获取源 URL?
【发布时间】:2015-03-20 20:51:24
【问题描述】:

我有一个应用程序,它使用-(BOOL)application:openURL: 从 HTTP url 打开 PDF。 于是我去Safari,在Safari中打开PDF,然后使用[Open in "MyAPP"]

我想保存 URL,这样当用户关闭应用再打开时,PDF 可以再次打开。

-(BOOL)application:(UIApplication *)application openURL:(NSURL *)url {
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    // to store
    [defaults setObject:[url absoluteString] forKey:@"LastPDFURL"];
    [defaults synchronize];
    <...etc...>
    return YES;
}

当我从 Key LastPDFURL 加载时,而不是获取:

(NSString*) @"http://www.someWebsite.com/LastPDF.pdf"

在将 pdf 导入我的应用程序后,我获得了本地 URL,例如:

(NSString*) @"file:///<..dir..>/Developer/CoreSimulator/Devices/<..deviceID..>/
data/Containers/Data/Application/<..appID..>/Documents/Inbox/LastPDF.pdf"

所以我的问题是:

是否可以在此文件导入交互中获取执行导入的源 URL?即“http://www.someWebsite.com/LastPDF.pdf”?

【问题讨论】:

    标签: ios openurl


    【解决方案1】:

    您没有获得原始网址。当您选择从 Safari 或 Mail(或其他应用程序)启动应用程序以打开某种文件时,原始文件将复制到您的应用程序的沙箱中,而您获得的 URL 将指向沙箱中复制的文件。你无法改变这一点。

    无法知道原始 URL 是什么。

    您应该做的是将文件从提供的 URL 移动到应用程序包中更合适的位置(例如文档),并在那里保留对它的引用。当您的应用重新启动时,您可以从该本地位置访问以前的文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-26
      • 1970-01-01
      • 1970-01-01
      • 2012-09-16
      • 1970-01-01
      相关资源
      最近更新 更多