Unc*_*mon 3 macos xcode sandbox
对于我的 macOS 桌面应用程序的 UI 测试目标,我需要能够运行命令行工具(特别是 git)来验证某些应用程序操作,但我收到一条错误,指出它无法在应用程序沙箱中运行。
我从未明确为我的应用程序或测试目标启用沙箱,因此我无法弄清楚如何将其关闭。没有权利文件,并且我找不到任何似乎与沙箱相关的目标设置。
那么是否可以禁用 UI 测试目标的沙箱呢?我知道解决方法可能包括将 git 复制到捆绑包中,或者让用户明确选择该工具,但这些似乎都不是真正理想的。
更新:我尝试将 git 复制到测试包中以从那里运行,但仍然遇到相同的错误。
更新 2:您可以关闭测试包的沙箱,但 Xcode 自动构建的测试运行程序仍然是沙箱的(并且无法加载未签名的包),并且 AFAICT 无法更改运行程序的构建方式。我错了吗?
小智 7
创建 .entitlements 文件
<key>com.apple.security.app-sandbox</key>
<false/>
并为您的 UI 测试包指定 CODE_SIGN_ENTITLMENTS(通过 xcconfig 或构建设置 -> 签名)。Xcode 将使用此权利的值来测试运行程序应用程序。
| 归档时间: |
|
| 查看次数: |
2777 次 |
| 最近记录: |