当我运行脚本时:
launchctl remove com.apple.CoreSimulator.CoreSimulatorService
在构建机器上的终端上它工作正常,但是当我从竹子运行它失败并且在日志中我看到“没有特权去除服务。”。我试着回复用户ID,它在终端和竹子日志中是相同的。我不明白为什么会这样。拜托,你知道怎么解决吗?它也不适用于sudo。
答案 0 :(得分:1)
根据 Bruce Tu 的回答:
您的Bamboo-Agent作为 launchDaemon 运行,而不是 launchAgent 。
要解决此问题,您必须将com.atlassian.bamboo-agent.plist
文件从/Library/LaunchDaemons
移至/Library/LaunchAgents
并重新启动服务器。
然后,您可以将其添加到Bamboo构建脚本中以解决CoreSimulator问题:
killall -9 com.apple.CoreSimulator.CoreSimulatorService || true
launchctl remove com.apple.CoreSimulator.CoreSimulatorService || true
答案 1 :(得分:0)
我在Jenkins构建中遇到了同样的问题。我的解决方案也可能适用于Bamboo。 我通过在构建开始之前运行的shell脚本中运行以下代码来解决它。
这假设您不必输入密码即可允许sudo。 如果没有,它也可以工作,你可以chown -R用户:将执行查杀/删除的组。
希望这有帮助。
sudo chmod -R g-w $(xcode-select -p)/Library/PrivateFrameworks/CoreSimulator.framework/Versions/A/XPCServices/com.apple.CoreSimulator.CoreSimulatorService.xpc
sudo chown -R root:wheel $(xcode-select -p)/Library/PrivateFrameworks/CoreSimulator.framework/Versions/A/XPCServices/com.apple.CoreSimulator.CoreSimulatorService.xpc
sudo killall -9 com.apple.CoreSimulator.CoreSimulatorService || true
sudo launchctl remove com.apple.CoreSimulator.CoreSimulatorService || true
答案 2 :(得分:0)
我在Mac上的Bamboo尝试运行命令时遇到了同样的问题
launchctl remove com.apple.CoreSimulator.CoreSimulatorService
问题是我将Bamboo设置为LaunchDaemon而不是LaunchAgent。 LaunchAgent无法访问诸如iOS模拟器,配置文件,权限问题等内容。在我停止LaunchDaemon服务并将Bamboo设置为LaunchAgent后,我能够运行该命令。
有关LaunchDaemon与LaunchAgent的更多信息,请参阅: http://mgrebenets.github.io/mobile%20ci/2015/02/01/mobile-ci-daemon-vs-agent
答案 3 :(得分:0)
尝试使用 sudo -u"USER" launchctl remove <service>
在根上下文中启动 LaunchAgent 时遇到相同的错误。
这里的问题是 sudo -u
不适用于所有情况(例如:当它用于软件包的 postinstall 脚本时)。
解决方案:
使用 sudo -u
和 launchctl asuser <userId>
的组合
launchctl asuser <uid> sudo -u <uName> launchctl load -S Aqua -w "/Library/LaunchAgents/<plist>"
该组合保证有效。