比较 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];

NSURL Class Reference