Xcode调试运行报Permission denied错误,读取文件夹无权限如何解决?
解决Xcode macOS应用读取文件夹权限报错方案
- 检查App Sandbox配置
打开项目对应Target的「Signing & Capabilities」标签页,找到App Sandbox模块下的File Access配置项:- 若应用需要上架App Store,将「User Selected File」权限设置为读/写,访问路径必须通过NSOpenPanel让用户主动授权选择
- 若为内部使用无需上架的应用,可直接勾选Allow Arbitrary Loads跳过沙盒路径限制,或者单独开启/Users/Shared目录对应的访问权限
- 补充安全域书签访问代码
如果你的self.url是之前存储的用户授权路径,在调用目录枚举逻辑前,需要先开启安全域访问:let hasAccess = self.url.startAccessingSecurityScopedResource() guard hasAccess else { // 权限获取失败处理逻辑 return } // 原有目录枚举代码写在这里 // 访问结束后调用 self.url.stopAccessingSecurityScopedResource() - 确认应用权限生效状态
右键点击编译生成的.app文件,选择「显示简介」,在「共享与权限」面板确认当前用户有读/写权限,同时检查系统设置「隐私与安全性」-「完全磁盘访问」列表里的对应App,勾选状态是否生效,若之前添加过可以删除后重新添加。 - 重置Xcode签名缓存
终端执行命令清理Xcode扩展属性,重启Xcode后重新编译运行:xattr -cr /Applications/Xcode.app
内容的提问来源于stack exchange,提问作者Peter Silie
相关产品推荐
相关产品推荐

