You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Xcode开发Swift应用执行终端命令报Operation not permitted错误求助

报错诱因

核心原因是macOS的权限限制机制导致的:

  • Xcode新建项目默认开启App Sandbox,沙盒规则默认禁止应用fork子进程、调用外部可执行文件,同时限制应用访问沙盒外的资源
  • 你要调用的runGraphic二进制文件未被赋予可执行权限
  • 应用未获得足够的系统隐私权限,也会触发执行禁止的报错

解决方法

  • 步骤1:给二进制文件添加可执行权限
    打开终端执行以下命令即可临时生效:
    chmod +x /Applications/SmallGame.app/Contents/Resources/runGraphic
    
    若要每次打包自动添加权限,可以在Xcode对应Target的Build Phases中新增一个Run Script阶段,写入以下内容:
    chmod +x "${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.app/Contents/Resources/runGraphic"
    
  • 步骤2:根据应用发布场景调整沙盒配置
    1. 无需上架App Store的场景:直接关闭App Sandbox即可解除限制。打开Xcode项目Target的Signing & Capabilities标签页,找到App Sandbox项点击左上角的减号删除即可。
    2. 需要上架App Store必须保留沙盒的场景:在App Sandbox配置中勾选Allow Execution of JIT-compiled Code,同时在Hardened Runtime配置中勾选Allow Unsigned Executable Memory,在项目的entitlements文件中添加com.apple.security.inherit权限(值设为YES),保证子进程可以继承主应用的沙盒权限,还要确保runGraphic存放在应用包内的合法路径下。
  • 步骤3:补充系统级权限
    打开macOS系统设置->隐私与安全性->完全磁盘访问,将你的SmallGame.app添加到列表中并开启权限,重启应用后再测试。

内容的提问来源于stack exchange,提问作者user17078449

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 22:36:04