使用Tauri v2 Alpha构建iOS应用时xcodebuild返回错误码65求助
针对基于Angular的Tauri v2 Alpha项目iOS构建报错问题(安卓、macOS构建正常,iOS执行npm run tauri ios build/npm run tauri ios dev时出现Operation not permitted (os error 1),Xcode返回code 65),以下是常规方案之外的新排查思路:
手动校验Rust构建脚本的可执行性
定位到报错的Shell脚本路径:/%pathToMySrc%/src-tauri/gen/apple/DerivedData/mobile-app/Build/Intermediates.noindex/mobile-app.build/release-iphoneos/mobile-app_iOS.build/Script-FB82E9A2CD95CB44B10A2F24.sh,先手动运行该脚本,看是否复现权限错误。如果报错,给脚本添加可执行权限:chmod +x /%pathToMySrc%/src-tauri/gen/apple/DerivedData/mobile-app/Build/Intermediates.noindex/mobile-app.build/release-iphoneos/mobile-app_iOS.build/Script-FB82E9A2CD95CB44B10A2F24.sh之后重新执行构建命令。另外,可打开Xcode项目(
src-tauri/gen/apple/mobile-app.xcodeproj),进入Build Phases中的Build Rust Code脚本配置,尝试指定cargo的绝对路径(如/Users/[你的用户名]/.cargo/bin/cargo),避免环境变量问题。重置DerivedData目录权限与内容
整个DerivedData目录可能存在权限混乱或缓存污染,先删除该目录:rm -rf /%pathToMySrc%/src-tauri/gen/apple/DerivedData然后检查
src-tauri目录的所有权,确保当前用户是所有者:sudo chown -R $(whoami) /%pathToMySrc%/src-tauri完成后重新触发iOS构建。
排查MacOS系统级权限限制
- 打开「系统设置」→「隐私与安全性」,查看是否有Xcode或终端被阻止执行文件操作的提示,如有则点击「允许」;
- 临时关闭系统完整性保护(SIP)测试(测试后建议恢复):重启Mac时按住
Command+R进入恢复模式,打开终端执行csrutil disable,重启后再尝试构建。
调整Tauri构建目标与CLI版本
- 在
src-tauri/Cargo.toml的Tauri配置中,显式指定iOS目标架构:[tauri.mobile] targets = ["aarch64-apple-ios"] - 更新Tauri CLI到最新Alpha版本,修复已知权限相关bug:
npm install @tauri-apps/cli@next --save-dev - 构建时显式指定目标:
npm run tauri ios build -- --target aarch64-apple-ios
- 在
检查Angular构建产物权限
Angular构建后的dist目录文件权限异常可能导致Tauri无法读取,先重新构建Angular项目:npm run build然后修复dist目录权限:
chmod -R 755 dist/[你的Angular项目名称]之后再执行Tauri iOS构建命令。
内容的提问来源于stack exchange,提问作者meDom

