我在 Jenkins 上使用 Xcode 12 beta 构建时也遇到类似的问题。当我跑步时xcrun simctl 列表在詹金斯用户的终端中,我看到
== Runtimes ==
iOS 14.0 (14.0 - 18A5351d) - com.apple.CoreSimulator.SimRuntime.iOS-14-0
tvOS 14.0 (14.0 - 18J5364d) - com.apple.CoreSimulator.SimRuntime.tvOS-14-0
watchOS 7.0 (7.0 - 18R5361c) - com.apple.CoreSimulator.SimRuntime.watchOS-7-0
但是如果我将相同的 simctl 命令由 Jenkins 作业执行,结果是
== Runtimes ==
iOS 14.0 (14.0 - 18A5351d) - com.apple.CoreSimulator.SimRuntime.iOS-14-0 (unavailable, failed to open liblaunch_sim.dylib)
tvOS 14.0 (14.0 - 18J5364d) - com.apple.CoreSimulator.SimRuntime.tvOS-14-0 (unavailable, failed to open liblaunch_sim.dylib)
watchOS 7.0 (7.0 - 18R5361c) - com.apple.CoreSimulator.SimRuntime.watchOS-7-0 (unavailable, failed to open liblaunch_sim.dylib)
虽然我找不到解决方案,但我找到了解决方法。如果我阻止 Jenkins 作为启动守护进程运行并从终端手动启动它,则 Xcode beta 版本可以正常运行。
# Stop Jenkins
sudo launchctl unload /Library/LaunchDaemons/org.jenkins-ci.plist
# Impersonate jenkins user
sudo su - jenkins
# Tell Jenkins where its home dir is located
export JENKINS_HOME=/Users/Shared/Jenkins/Home
# Start Jenkins instance
/Library/Application\ Support/Jenkins/jenkins-runner.sh
以上所有路径均为默认路径。如果您的值恰好不同,您可能会在文件 /Library/LaunchDaemons/org.jenkins-ci.plist 中找到正确的值