使用Xamarin.iOS获取iOS Library文件夹的正确方法是什么?

时间:2013-12-11 11:54:05

标签: c# ios xamarin.ios xamarin

这将是我的iOS应用程序的文档根目录:

Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)

是否有类似的内容可以访问图书馆文件夹?

3 个答案:

答案 0 :(得分:14)

var docsPath = Environment.GetFolderPath (Environment.SpecialFolder.MyDocuments);
var libPath = Path.Combine (docsPath, "..", "Library");

答案 1 :(得分:7)

当前(iOS 12),您可以通过以下方式获取路径:

var libraryPath = GetFolderPath(SpecialFolder.Resources); 

".../APP-UUID/Library"

对于嵌套在Library文件夹中的目录,例如本地应用程序缓存,您可以执行以下操作:

var pathToCache = Path.Combine(libraryPath, "Caches"); 

".../APP-UUID/Library/Caches"

Xamarin IOS上可能感兴趣的其他目录:

SpecialFolder.Favorites =   ".../APP-UUID/Library/Favorites"
SpecialFolder.MyDocuments = ".../APP-UUID/Documents"
SpecialFolder.MyMusic =     ".../APP-UUID/Documents/Music"
SpecialFolder.MyPictures =  ".../APP-UUID/Documents/Pictures"
SpecialFolder.MyVideos =    ".../APP-UUID/Documents/Videos"
SpecialFolder.Desktop =     ".../APP-UUID/Documents/Desktop"

可以在Xamarin Docs for File System上浏览更多选项

答案 2 :(得分:5)

在iOS8中我使用了它并且它起作用了:

NSFileManager.DefaultManager.GetUrls (NSSearchPathDirectory.LibraryDirectory, NSSearchPathDomain.User) [0].Path

我是从Xamarin的page about the iOS file system得到的。它说" iOS 8注意:本文档的部分内容受到iOS 8中的更改的影响。如果您的应用程序使用Environment.SpecialFolder或计算相对路径,例如" ../ Documents"你应该阅读Apple的这份技术说明。 iOS文件系统基础知识也提供了更新的信息。"