【发布时间】:2014-01-10 16:05:25
【问题描述】:
当在我的应用程序中调用用于处理打开的文件(来自另一个应用程序)的 App Delegate 方法时,它传递给我的应用程序的 URL 是 nil... 或者至少这是 NSFileManager 告诉我的,因为文件确实存在于它指定的位置。
为什么NSFileManager 告诉我应用程序文档收件箱中文件的文件 URL 不存在?以下是我处理 URL 的方式:
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
if (![[NSFileManager defaultManager] fileExistsAtPath:[url absoluteString]]) {
NSLog(@"File does not exist at path: %@", [url absoluteString]);
} else {
...
}
}
我一直试图弄清楚这一点,但我想不出任何原因来解释为什么这里的 url 参数会注册为不存在。这可能是一件非常简单的事情。可能absoluteString 的事情让 NSFileManager 出错了?
有什么想法吗?我找了又找,但一无所获——而且什么也想不出来。
【问题讨论】:
-
在使用 NSFileManager 之前尝试检查 url [url isFileURL]。
-
放一个断点并检查url
-
@stosha 我确实检查了文件
isFileURL是否返回YES。
标签: ios objective-c nsfilemanager nsurl