macOS Ventura下Xcode14+Swift5读取文件权限错误求助
解决macOS下Xcode读取.raw文件的权限错误问题
错误原因分析
你遇到的NSCocoaErrorDomain Code=257错误,本质是macOS Ventura的隐私权限和Xcode沙箱机制限制,和Assets.xcassets为空、无plist文件无关。
具体解决方案
配置App Sandbox权限
打开项目的Signing & Capabilities标签,点击+ Capability添加App Sandbox:- 如果读取用户手动选择的文件,勾选
Files and Folders下的User Selected File; - 如果读取项目包内的文件,确保文件已添加到项目的
Copy Bundle Resources构建阶段(在Build Phases标签下)。
- 如果读取用户手动选择的文件,勾选
替换强制解包的
try!
不要用try!强制解包,改用do-catch捕获错误,避免直接崩溃:do { let data = try Data(contentsOf: fileURL) // 后续处理UInt16数据逻辑 } catch { print("文件读取失败:\(error.localizedDescription)") }正确获取项目内文件路径
不要直接使用绝对路径,通过Bundle获取包内文件,避免路径或权限问题:guard let fileURL = Bundle.main.url(forResource: "p03-4M1-041", withExtension: "raw") else { print("项目中找不到目标.raw文件") return }检查系统隐私权限
打开系统设置→隐私与安全性→文件与文件夹:- 找到你的应用,确保勾选了目标文件所在的文件夹;
- 如果是调试阶段,也可以给Xcode赋予对应文件夹的访问权限。
内容的提问来源于stack exchange,提问作者Nate Lockwood
相关产品推荐
相关产品推荐

