gpt4 book ai didi

Xcode Server bot 无法使用默认命令读取属性列表

转载 作者:行者123 更新时间:2023-12-02 14:58:44 24 4
gpt4 key购买 nike

我的目标之一是一个外部构建工具,它使用 defaults 命令读取属性列表。

当机器人运行该工具时,defaults 命令无法找到指定的默认值:

defaults read /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/version CFBundleShortVersionString

> The domain/default pair of (/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/version, CFBundleShortVersionString) does not exist

从普通用户帐户运行相同的命令效果很好:

defaults read /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/version CFBundleShortVersionString

> 7.1

但由于某种原因,它对 _teamsserver 用户不起作用:

sudo -u _teamsserver defaults read /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/version CFBundleShortVersionString

> The domain/default pair of (/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/version, CFBundleShortVersionString) does not exist

…这就是机器人无法构建的原因。

知道为什么这不起作用吗?

谢谢。

最佳答案

尝试使用 PlistBuddy 代替:

/usr/libexec/PlistBuddy -c "print CFBundleShortVersionString" /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/version.plist

请注意,从 10.9 开始,您不应使用 PlistBuddy 来修改首选项文件。苹果添加了一个缓存系统来提高用户首选项的性能,并且它不会看到直接对首选项文件进行的更改。在这种情况下,请使用“defaults”命令,该命令使用正确的 API 来更改首选项。我的猜测是,当尝试使用 sudo 的“defaults”命令来访问通用 plist 时,首选项缓存系统也可能是导致问题的原因。

关于Xcode Server bot 无法使用默认命令读取属性列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22971084/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com