【发布时间】:2020-08-23 19:31:38
【问题描述】:
我在 Xcode 11.6 的命令行工具项目中读取文件时遇到问题。
步骤:
使用 mac os 部分中的模板创建一个新的命令行工具项目。
在 main.swift 中:
import Foundation
let fileURL = URL( fileURLWithPath: "/Users/ausom4/Desktop/myTest.txt" )
var rawDataString: String
var errorString: String?
do {
rawDataString = try String( contentsOf: fileURL, encoding: .utf8 )
print(rawDataString)
} catch let error as NSError {
errorString = error.description
rawDataString = ""
print(rawDataString)
}
这将在 Xcode 中成功构建,但总是会在控制台中打印一个空字符串。
但是,如果我在终端中转到我的产品位置并运行构建,我会得到文件的内容。
我没有启用沙盒。默认情况下,此 xcode 模板中也未启用沙盒。我还给了 xcode 完整的磁盘访问权限。
我可以在操场上运行这段代码。
这可能是什么问题?
【问题讨论】:
-
调试问题的第一步是
print(error)... -
我收到以下错误:Error Domain=NSCocoaErrorDomain Code=257 “无法打开文件“myTest.txt”,因为您无权查看它。” UserInfo={NSFilePath=/Users/ausom4/Desktop/myTest.txt, NSUnderlyingError=0x1005425e0 {Error Domain=NSPOSIXErrorDomain Code=1 "Operation not allowed"}} 我尝试给我的文件 chmod 777 权限,但返回相同的错误