在 OSX 10.10 (Yosemite) 中使用 Applescript 时,Apple 似乎更改了一些默认行为。
on open dropped_files
display dialog (count of dropped_files)
end open
这个非常基本的 Applescript 凸显了这个问题。如果我从 Finder 中选择一组 6 个文件,然后拖放到该脚本的编译版本上,我会得到响应“2”,然后得到响应“4”。它应该响应“6”...但这几乎就像 Finder 将文件解析为更小的组。如果我再次这样做,我会得到不同的数字组合,因此它似乎不一致。
这不是我的应用程序所需的行为,有什么解决方案的想法吗?我在旧版本的 Applescript 中从未见过这种行为。
这种奇怪的效果是由于隔离文件造成的。可以使用以下命令检查隔离的文件:
xattr -p com.apple.quarantine *
根据隔离/非隔离文件的排序顺序,它将分别执行每个组(隔离或非隔离)的“打开”处理程序:例如,1 - 隔离,4 - 非隔离,3 - 被隔离。您会注意到,在此示例中提交了两组隔离文件,这是因为该特定列表是如何排序并提交到打开处理程序的。
这种行为相当令人惊讶,我已将其作为错误报告提交给 Apple。可以使用以下命令删除隔离属性:
sudo xattr -dr com.apple.quarantine *
显示正确的文件数量。另外,请参阅 regulus6633 上面的 Applescript 技巧,以获得巧妙的解决方法。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)