集成Realm到Xcode项目时遇Sandbox rsync.samba权限错误求助
解决Realm集成Xcode时的Sandbox权限错误
错误信息
1. error: Sandbox: rsync.samba(23748) deny(1) file-write-create /Users/danilkoksenev/DerivedXcode/MyPlaces-egyurzcpvwpcvjbgtnifjfqlhsia/Build/Products/Debug-iphonesimulator/XCFrameworkIntermediates/Realm/Headers (in target 'Realm' from project 'Pods') 2. error: Sandbox: rsync.samba(23749) deny(1) file-write-create /Users/danilkoksenev/DerivedXcode/MyPlaces-egyurzcpvwpcvjbgtnifjfqlhsia/Build/Products/Debug-iphonesimulator/XCFrameworkIntermediates/Realm/.librealm-monorepo.a.iHlLDE (in target 'Realm' from project 'Pods')
已尝试的无效操作
- 清理构建文件夹
- 将DerivedData迁移到用户目录
/Users/danilkoksenev/DerivedXcode并再次清理 - 将主项目.xcworkspace中的
User Script Sandboxing设为No - 修改Pods脚本中的
source="$(readlink "${source}")"为source="$(readlink -f "${source}")"
Podfile内容
# Uncomment the next line to define a global platform for your project # platform :ios, '9.0' target 'MyPlaces' do # Comment the next line if you don't want to use dynamic frameworks use_frameworks! # Pods for MyPlaces pod 'RealmSwift', '~>10' end
可行解决方案
更新CocoaPods到最新版本
旧版CocoaPods可能与新版Xcode或Realm存在兼容性问题,执行以下命令更新:sudo gem install cocoapods pod repo update pod install彻底清理Pod缓存与构建文件
残留缓存可能引发权限异常,执行命令彻底清理后重新安装Pods:pod deintegrate rm -rf Podfile.lock rm -rf ~/Library/Caches/CocoaPods rm -rf /Users/danilkoksenev/DerivedXcode xcodebuild clean -workspace MyPlaces.xcworkspace -scheme MyPlaces -configuration Debug pod install关闭Pods目标的脚本沙箱限制
之前仅修改了主项目设置,需同步修改Pods内的Realm相关目标:- 打开
MyPlaces.xcworkspace - 左侧导航栏选择
Pods项目,找到Realm和RealmSwift两个目标 - 进入
Build Settings标签,搜索User Script Sandboxing,将其值改为No - 重新构建项目
- 打开
修复自定义DerivedData目录权限
手动确认目录权限正确,执行以下命令:chmod -R 755 /Users/danilkoksenev/DerivedXcode chown -R danilkoksenev:staff /Users/danilkoksenev/DerivedXcode尝试指定Realm稳定版本
若10.x最新版本存在兼容性问题,可切换到已知稳定版本,修改Podfile:pod 'RealmSwift', '10.21.0'保存后执行
pod install重新安装
内容的提问来源于stack exchange,提问作者Danil
相关产品推荐
相关产品推荐

