Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/101.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用Xamarin.iOS获取iOS库文件夹的正确方法是什么?_C#_Ios_Xamarin.ios_Xamarin - Fatal编程技术网

C# 使用Xamarin.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, ".."

这将为我获取iOS应用程序的文档根目录:

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文件系统帮助文档。我在您共享的链接上找不到此代码。你的解释也很荒谬。我不明白。目前的答案已经有几年历史了,虽然它们很有用,但我想我会和大家分享我的最新发现。