我正在尝试将我的 .applescript 文件分成不同的文件来整理。
我有一个名为的 JS AppleScript 文件Test.applescript
,它尝试运行 JS AppleScript 文件Group Tracks Dependency.applescript
,我想要做的是将参数传入依赖脚本并从中获取返回值。(它创建了一组 iTunes 曲目数组)。
测试.applescript
(function() {
var app = Application('iTunes');
app.includeStandardAdditions = true;
app.doShellScript('Group Tracks Dependency.applescript');
return "Done";
})();
// For quick logging
function log(obj) {
this.console.log(obj);
}
组跟踪 Dependency.applescript
(function(selection) {
return getGroupsOfTracks(selection);
function getGroupsOfTracks(originalTracksArray) {
if (originalTracksArray == null || originalTracksArray.length == 0)
return null;
var tracks = originalTracksArray.slice();
var groups = [];
while (true) {
var group = [];
group.push(tracks[0]);
tracks = tracks.slice(1);
while (true) {
if (!tracks[0]) break;
if (tracks[0].album() != group[0].album())
break;
if (tracks[0].artist() != group[0].artist())
break;
if (tracks[0].discNumber() != group[0].discNumber())
break;
group.push(tracks[0]);
tracks = tracks.slice(1);
}
groups.push(group);
if (!tracks[0]) break;
}
return groups;
}
})();
当我尝试运行测试脚本时,出现此错误(第 5 行是该app.doShellScript
行):
Error on line 5: Error: A privilege violation occurred.
有没有办法解决这个问题?我还应该注意,我希望其他人将来能够下载这些脚本并在他们自己的 iTunes 库上运行它们(虽然目前它对用户不友好)。
如果没有办法解决这个问题,那么导入另一个 JS AppleScript 文件会起作用吗?