尝试从运行在 iOS 8 模拟器中的应用程序在本地保存文件,但我不断收到拒绝访问的异常。
在以前的应用程序中,我使用以下代码来获取有效的文件路径:
Environment.GetFolderPath(Environment.SpecialFolder.Personal)
或者
Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)
但我已经读过 iOS 8 现在必须写成:
NSFileManager.DefaultManager.GetUrls(NSSearchPathDirectory.DocumentDirectory,
NSSearchPathDomain.User)[0]
因此,我使用以下代码为文件生成文件路径,.txt
并在尝试保存时收到拒绝访问异常:
public void SaveMyFile(string content)
{
NSUrl[] urls;
string filePath;
//
urls = NSFileManager.DefaultManager.GetUrls(NSSearchPathDirectory.DocumentDirectory,
NSSearchPathDomain.User);
filePath = Path.Combine(urls[0].Path, "MyApp", "myFile.txt");
File.WriteAllText(filePath, content);
}
所以它给我的文件路径也拒绝访问是/Users/Idox/Library/Developer/CoreSimulator/Devices/92498E38-7D50-4081-8A64-83061DC00A86/data/Containers/Data/Application/C35B3E98-C9E3-4ABA-AA7F-CD8419FA0EA5/Documents/MyApp/myFile.txt
.
我想知道是否需要切换某些设置以授予应用程序对该目录的写访问权限,或者该目录本身是否无效。
我还打电话来Directory.Exists(string path)
检查目录是否在那里,它是。