C# 使用Xamarin.iOS获取iOS库文件夹的正确方法是什么?
这将为我获取iOS应用程序的文档根目录:C# 使用Xamarin.iOS获取iOS库文件夹的正确方法是什么?,c#,ios,xamarin.ios,xamarin,C#,Ios,Xamarin.ios,Xamarin,这将为我获取iOS应用程序的文档根目录: Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) 是否有类似于访问库文件夹的功能?在iOS8中,我使用了此功能,它起到了作用: var docsPath = Environment.GetFolderPath (Environment.SpecialFolder.MyDocuments); var libPath = Path.Combine (docsPath, ".."
Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)
是否有类似于访问库文件夹的功能?在iOS8中,我使用了此功能,它起到了作用:
var docsPath = Environment.GetFolderPath (Environment.SpecialFolder.MyDocuments);
var libPath = Path.Combine (docsPath, "..", "Library");
NSFileManager.DefaultManager.GetUrls (NSSearchPathDirectory.LibraryDirectory, NSSearchPathDomain.User) [0].Path
我从Xamarin那里得到的。上面写着“iOS 8说明:本文档的部分内容会受到iOS 8更改的影响。如果您的应用程序使用Environment.SpecialFolder或计算相对路径,如“./Documents”,您应该阅读苹果的本技术说明。更新信息也可从iOS文件系统基础中获得。当前(iOS 12)您可以通过以下方式检索库路径:
var libraryPath = Environment.GetFolderPath(Environment.SpecialFolder.Resources);
".../APP-UUID/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"
可以在上探索更多选项,如果苹果明天更改库文件夹的位置,那么…?那么每个应用程序都将被破坏,因为苹果记录了这一点,并且没有提供检索目录的API。我认为iOS 8已经改变了这一点。有人对此有更新吗?@Lereveme Xamarin API会自动检查操作系统版本。上面的代码将适用于所有版本的iOS.Hi@Krumelur-请参阅我提交的答案。它来自Xamarin的iOS文件系统帮助文档。我在您共享的链接上找不到此代码。你的解释也很荒谬。我不明白。目前的答案已经有几年历史了,虽然它们很有用,但我想我会和大家分享我的最新发现。