AppleScriptObjC でエイリアスのオリジナルを得たい
Finderに問い合わせてエイリアスのオリジナル(パス)を得る方法はわかっているのですが、
速度的な問題からあまり使いたいと思っていません。
そこで、AppleScriptObjC ならどうにかなるのでは!? と思いそれらしいコードを書いてみたのですが
結果が常に missing value (表示上は msng) となり、期待する値を得られないでいます。
AppleScriptObjC では使えない Objective-C のクラスがあるとも聞きますし、
そもそも見当違いなコードを書いている可能性もあるので
AppleScriptObjC でエイリアスのオリジナルを得る方法をご存知のかたがいらっしゃれば
お教えいただければと思い質問しました。
ただ、AppleScriptObjC に固執しているわけでなく
例えば JavaScript や do shell script 命令で同様のことができるのであればそれでもかまいません。
# macOS Mojave 10.14.6 / Mac mini 2018
use AppleScript version "2.5"
use framework "Foundation"
use scripting additions
set aFile to choose file
tell application "Finder"
set origI to (original item of aFile) # 通常のファイルだった場合エラーとなり止まる
end tell
display dialog "【オリジナルのパス】" & POSIX path of (origI as text)
set r to current application's NSFileManager's defaultManager()'s ¬
destinationOfSymbolicLinkAtPath:(POSIX path of aFile) |error|:(missing value)
display dialog r # 常に msng と表示される
Mac mini, macOS 10.14