从完整路径转换为tilde路径以从Cocoa推送JSX?

从完整路径转换为tilde路径以从Cocoa推送JSX?,cocoa,adobe,extendscript,Cocoa,Adobe,Extendscript,我需要将以/Users/username/file.ext开头的完整路径转换为波浪形路径~/file.ext。我看到了许多内置在NSString和NSURL中的方法,它们从平铺到完全,但不是相反。虽然我可以选择使用nshomeditory()并在路径字符串中进行替换,但我希望有一种方法烘焙到Cocoa中,以便在情况发生变化时处理此问题 我之所以需要它,是因为我正在从Cocoa应用程序推送AdobeJSX脚本。Cocoa应用程序收集脚本所需的所有数据,并将数据作为参数推送到脚本。文件类似乎需要基于

我需要将以
/Users/username/file.ext
开头的完整路径转换为波浪形路径
~/file.ext
。我看到了许多内置在
NSString
NSURL
中的方法,它们从平铺到完全,但不是相反。虽然我可以选择使用
nshomeditory()
并在路径字符串中进行替换,但我希望有一种方法烘焙到Cocoa中,以便在情况发生变化时处理此问题


我之所以需要它,是因为我正在从Cocoa应用程序推送AdobeJSX脚本。Cocoa应用程序收集脚本所需的所有数据,并将数据作为参数推送到脚本。
文件
类似乎需要基于tilde的路径(但不是奇怪的
文件夹
类),但我在他们自己的文档中找不到任何明确的内容,我根据自己的观察。完整路径失败,而平铺路径不失败。

我知道这个问题由来已久,但答案如下:

let path:NSString // a file path
let pathWithTilde = path.abbreviatingWithTildeInPath


这种方法从macOS 10.0开始就可以使用。

我不认为有任何Cocoa功能可用于此目的。我也不这么认为,至少我在苹果的文档中找不到,但我想确定我在最终得出结论之前涵盖了所有内容。