我正在尝试使用 macos 执行程序在 circleci 中为 ios 设置排毒构建。我遇到的问题是 applesmiutils。当应用程序尝试运行时,它会执行命令
applesimutils --list byId='SIM_ID'
。如果在本地运行,此命令会提供所需的结果,但会导致 CircleCI 失败。失败是:
rror: The data couldn’t be read because it isn’t in the correct format.. See “applesimutils --help” for usage.
Error: Unable to obtain a list of simulators. See “applesimutils --help” for usage.
调试了很多,尝试了不同版本的applesimutils,都没有用。即使没有排毒命令,
applesimutils --list
命令也会失败,但如果我们执行 sudo applesimutils --list
那就成功了。
所以,
applesimutils --list
肯定有问题。我降级了实用程序但没有用。
问题是当 applesimutils 运行
NVM
命令时,我在我的 CircleCI 设置中使用 xcrun simctl list devices
打印这些行:
v16.19.1 is already installed.
Now using node v16.19.1 (npm v8.19.3)
这导致数据格式从JSON变为applesimutils无法识别的格式。
我将节点安装脚本更改为
brew install node@16
一切都开始工作,包括排毒测试!