我搜索了很多,却找不到答案。 我刚刚开始使用xcode,并且有一个非常简单的名为“ Image Test”的程序。
--->它具有一个按钮和一个textField。我想在textField中显示系统主目录路径。这是我的代码:
@IBOutlet weak var textField1: NSTextField!
@IBAction func Button1(_ sender: Any) {
do{
let home = try FileManager.default.homeDirectoryForCurrentUser
textField1.stringValue = home.path
}
catch{}
}
它可以工作,但是返回的路径类似于: /Users/myname/Library/Containers/com.Image-Test/Data
我以前在Xcode Playground中测试过此代码,它是正确的。相同的代码,但没有正确的路径。
答案 0 :(得分:1)
这是因为沙箱。 documentation指出:
应用沙箱容器目录
它位于用户主目录中系统定义的路径中。在沙盒应用程序中,当您的应用程序调用NSHomeDirectory函数时,将返回此路径。
您可以通过删除“应用程序沙箱”功能来验证这一点(注意:我不是(emem)建议您对应用程序执行此操作)。
PS:如果您打算将应用程序提交到AppStore,则必须启用沙箱 。