作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
对于我的 macOS 桌面应用程序的 UI 测试目标,我需要能够运行命令行工具(特别是 git)来验证某些应用程序操作,但我收到无法在应用程序沙箱中运行的错误。
我从未为我的应用或测试目标明确启用沙盒,因此我无法弄清楚如何将其关闭。没有权利文件,我找不到任何似乎与沙盒相关的目标设置。
那么是否可以为 UI 测试目标禁用沙盒?我知道解决方法可能包括将 git 复制到包中,或者让用户明确选择该工具,但这些似乎都不是真正可取的。
更新:我尝试将 git 复制到测试包中以从那里运行,但仍然遇到相同的错误。
更新 2:您可以为测试 bundle 关闭沙盒,但 Xcode 自动构建的测试 runner 仍然是沙盒(并且无法加载未签名的包) ,并且 AFAICT 无法更改运行者的构建方式。我错了吗?
最佳答案
创建 .entitlements 文件
<key>com.apple.security.app-sandbox</key>
<false/>
并为您的 UI 测试包指定 CODE_SIGN_ENTITLEMENTS(通过 xcconfig 或build设置 -> 签名)。 Xcode 将为测试运行器应用程序使用此权利的值。
关于xcode - 如何为 Xcode UI 测试禁用沙箱,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58824073/
我是一名优秀的程序员,十分优秀!