我尝试在xamarin ios中执行以下代码时得到UnauthorizedAccessException
documentsPath = Environment.GetFolderPath(Environment.SpecialFolder.Personal);
documentsPath = Directory.GetParent(documentsPath).ToString();
InternalAppDataPath = Path.Combine(documentsPath, "Library");
InternalCacheDataPath = Path.Combine(InternalAppDataPath,"Caches");
if (Directory.Exists(InternalCacheDataPath))
{
Directory.Delete(InternalCacheDataPath, true);
}
在尝试执行删除功能时,将引发UnauthorizedAccessException。我该如何解决?
谢谢
答案 0 :(得分:0)
您不能删除该文件夹路径,因为它是iOS系统路径。您将获得未经授权的例外。
答案 1 :(得分:0)
iOS不允许用户访问非公共的访问目录,唯一可以进行更改的目录是为应用程序创建的文档目录,即:
Environment.SpecialFolder.Personal
现在,当您执行此操作时:
documentsPath = Directory.GetParent(documentsPath).ToString();
InternalAppDataPath = Path.Combine(documentsPath, "Library");
InternalCacheDataPath = Path.Combine(InternalAppDataPath,"Caches");
然后尝试对文档目录的父文件夹进行更改,因为您无权访问这些目录,因此会抛出UnauthorizedAccessException
。
现在,这不是某种许可或您可以从用户那里获得的解决问题的方法,这是Apple的一种限制(据我所知),因此您不能这样做。
祝你好运
如有查询,请随时还原。
如果您找到一些解决方法,请在此处告诉我。