你好:)我正在尝试实现一个新的xcode行为,该行为在当前打开的xcode文件上运行swiftlint的自动更正。如果我从终端运行脚本,它工作得很完美,然而,如果我通过xcodes行为执行脚本,除了swiftlint部分外,所有的脚本都被执行(当我试图将输出打印到文件时,它只输出了一个空行)。我设置了chmod u+x的权限,所以应该没问题。也许有人能帮我弄清楚原因是什么?我好像走进了死胡同,找不到任何有类似问题的人:(
下面是我的脚本:
#!/bin/sh
fileName=$(osascript <<END
tell application "Xcode"
set t to name of front window
set o to offset of " — " in t
if o > 0 then set t to text 1 thru (o - 1) of t
return t
end tell
END)
fullPath=$(find . -name "$fileName")
swiftlint autocorrect --path $fullPath
使用AppleScript从Xcode中提取当前活动文件,然后在其上运行swiftlint。
Thanks in advance
有趣的是,我在发布问题几分钟后就找到了解决方案。
问题是Xcode不识别swiftlint命令,所以我用它的完整路径替换它,它工作了!:)