比较 NSStrings 中的两个文件路径,包括链接
Compare two file paths in NSStrings including links
我正在解决由使用 -[NSString isEqualToString:]
的路径比较引起的错误
(lldb) po aString
/var/mobile/Containers/Bundle/Application/DE14BC26-B07D-46C2-89BF-E800231BAD1F/a.app/b.bundle/epub/OEBPS/Text/02.xhtml
(lldb) po bString
/private/var/mobile/Containers/Bundle/Application/DE14BC26-B07D-46C2-89BF-E800231BAD1F/a.app/b.bundle/epub/OEBPS/Text/02.xhtml
[aString isEqualToString:bString]
会产生 NO
.
但是由于 /var 是指向 /private/var 的符号链接,它们指的是同一个文件。我可以知道解决这个问题的正确方法吗?
尝试使用:
NSString *resolvedPath = [path stringByResolvingSymlinksInPath];
然后比较。参见 NSString Class Reference。
对于 NSURL
等效项,使用:
NSURL *resolvedURL = [url URLByResolvingSymlinksInPath];
我正在解决由使用 -[NSString isEqualToString:]
(lldb) po aString
/var/mobile/Containers/Bundle/Application/DE14BC26-B07D-46C2-89BF-E800231BAD1F/a.app/b.bundle/epub/OEBPS/Text/02.xhtml
(lldb) po bString
/private/var/mobile/Containers/Bundle/Application/DE14BC26-B07D-46C2-89BF-E800231BAD1F/a.app/b.bundle/epub/OEBPS/Text/02.xhtml
[aString isEqualToString:bString]
会产生 NO
.
但是由于 /var 是指向 /private/var 的符号链接,它们指的是同一个文件。我可以知道解决这个问题的正确方法吗?
尝试使用:
NSString *resolvedPath = [path stringByResolvingSymlinksInPath];
然后比较。参见 NSString Class Reference。
对于 NSURL
等效项,使用:
NSURL *resolvedURL = [url URLByResolvingSymlinksInPath];