我有一个使用-(BOOL)application:openURL:
从HTTP网址打开PDF的应用。
所以我去Safari,在Safari中打开PDF,然后使用[打开" MyAPP"]
我想保存网址,以便当用户关闭应用并再次打开时,可以再次打开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;
}
当我从密钥LastPDFURL
加载时,而不是获取:
(NSString*) @"http://www.someWebsite.com/LastPDF.pdf"
将pdf导入我的应用后,我得到了本地网址,例如:
(NSString*) @"file:///<..dir..>/Developer/CoreSimulator/Devices/<..deviceID..>/
data/Containers/Data/Application/<..appID..>/Documents/Inbox/LastPDF.pdf"
所以我的问题是:
是否可以在此文件中导入交互以获取执行导入的源URL?即&#34; http://www.someWebsite.com/LastPDF.pdf&#34;?
答案 0 :(得分:0)
您没有获得原始网址。当您选择从Safari或Mail(或其他应用程序)启动应用程序以打开某种文件时,原始文件将复制到您应用程序的沙箱中,您获得的URL将是您沙箱中复制的文件。你无法改变这一点。
无法知道原始网址是什么。
您应该做的是将文件从提供的URL移动到应用程序包中的更合适的位置(例如文档),并在那里保留对它的引用。当您的应用重新启动时,您可以从该本地位置访问上一个文件。