【发布时间】:2012-06-30 12:49:07
【问题描述】:
我正在使用 UIWebView:loadRequest 和一个 NSURLRequest 打开一个本地文件,而 NSURLRequest 又是从一个 URL 设置的。
url 的基本位置通过以下方式获得:
baseDirectory = [[NSFileManager defaultManager] URLForDirectory:NSApplicationSupportDirectory
inDomain:NSUserDomainMask
appropriateForURL:nil
create: YES
error:&err];
这将返回表单的 URL:
file://localhost/var/mobile/Applications/Library/ApplicationSupport/ABC/XYZ/page.html
但是,当 UIWebViewDelegate shouldStartLoadForRequest:(NSURLRequest*) 方法被调用时,传递的 NSURLRequest 已更改为以下内容:
file:///var/mobile/Applications/Library/ApplicationSupport/ABC/XYZ/page.html
因此这两个都引用了同一个文件,但是我有一种情况,我需要在两者之间进行比较(我需要比较 /ABC/XYZ/page.html 部分)并且 NSURL:isEqual 返回 NO 时比较两者。
是否有: a) NSFileManager 的一个方法,它将返回 file:///var/mobile/... 而不是 file://localhost/var/mobile/...
或
b) 轻松提取 /ABC/XYZ/page.html 部分并对其进行比较?
【问题讨论】:
-
这个问题不对,但请听我说:苹果不允许应用程序从文件系统的 root 获取信息是否有意义?应用程序不意味着甚至可以访问沙盒之外的简单文件,例如 HTML 文件。
标签: ios uiwebview nsurl nsfilemanager