Xcode 沙盒MacOS命令行工具

Xcode 沙盒MacOS命令行工具,xcode,macos,sandbox,code-signing,code-signing-entitlements,Xcode,Macos,Sandbox,Code Signing,Code Signing Entitlements,我尝试在Xcode 11.2中的Mojave 10.14.6上构建一个沙盒MacOS命令行工具。它只是一个简单的单目标工具,将Hello World打印到stdout 当我将功能应用程序沙盒添加到目标时,该工具仍将生成,但无法运行。在Xcode中运行时,在调试器中,我将在尝试启动沙箱的代码上下文中看到错误: Thread 1: EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0) 当我从命令行运行该工具时,我得到 Illegal inst

我尝试在Xcode 11.2中的Mojave 10.14.6上构建一个沙盒MacOS命令行工具。它只是一个简单的单目标工具,将Hello World打印到stdout

当我将功能应用程序沙盒添加到目标时,该工具仍将生成,但无法运行。在Xcode中运行时,在调试器中,我将在尝试启动沙箱的代码上下文中看到错误:

Thread 1: EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)
当我从命令行运行该工具时,我得到

Illegal instruction: 4
使用
codesign-d--authentications-./HelloWorldCli
列出权限,我得到

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.app-sandbox</key>
<true/>
<key>com.apple.security.automation.apple-events</key>
<true/>
<key>com.apple.security.files.user-selected.read-only</key>
<true/>
<key>com.apple.security.get-task-allow</key>
<true/>

com.apple.security.app-sandbox
com.apple.security.automation.apple-events
com.apple.security.files.user-selected.read-only
com.apple.security.get-task-allow

现在的问题是:是否可以在沙箱模式下创建MacOS命令行工具?这有意义吗?如果是,我必须更改什么才能应用应用程序沙盒功能?如果没有,为什么会有一个突出的选项来将应用程序沙盒功能应用于命令行工具项目?那么,我有哪些选项可以添加权限,比如Xcode中的命令行工具的keychain访问权限