在模拟器中运行时从应用程序获取工作目录

Posted

技术标签:

【中文标题】在模拟器中运行时从应用程序获取工作目录【英文标题】:Getting working directory from app when running in simulator 【发布时间】:2015-10-09 13:54:23 【问题描述】:

我想在模拟器中获取一个应用程序的当前工作目录(应用程序目录)。 IE。应用程序当前运行时可以存储其文件的文件夹。

可以right-click on the project in Xamarin Studio and select Open Containing Folder,但这仅显示应用程序包中的内容,将交付给用户/应用商店 - 而不是当前创建的文件。

目前我正在这样做

Console.WriteLine(Environment.GetFolderPath (Environment.SpecialFolder.MyDocuments));

我得到类似的东西

/Users/my-user/Library/Developer/CoreSimulator/Devices/9F56EA45-A415-4841-A675-1AC5B7890BD2/data/Containers/Data/Application/A4EE9A21-49E6-474A-AF50-F78135031CD4/Documents

但是有没有像上面右键一样更快的方法?

【问题讨论】:

暂时没有。也可能是路径变化,主要是 guid,会发生变化。 【参考方案1】:

从当前文档目录中获取文件数组。

NSString *docsDir;
NSArray *dirPaths;
// Get the documents directory
dirPaths = NSSearchPathForDirectoriesInDomains
(NSDocumentDirectory, NSUserDomainMask, YES);
docsDir = dirPaths[0];

现在从 docsDir 数组中获取您的文件。

databasePath = [[NSString alloc] initWithString:
                [docsDir stringByAppendingPathComponent:@"xyz.db"]];

【讨论】:

以上是关于在模拟器中运行时从应用程序获取工作目录的主要内容,如果未能解决你的问题,请参考以下文章

应用程序在模拟器中运行时卡在启动画面上

简单的 C# 应用程序无法正常工作,在 Visual Studio 中运行时工作正常

Windows 应用程序在 Visual Studio 2019 中运行时工作,在我在本地构建和运行后工作,但是当提交到应用商店并下载时,它不运行

在 Eclipse 中运行时从 pom 获取 maven 项目版本和工件 ID

应用程序正在模拟器中定位,但在实际的 android 设备中运行时没有

自动布局 - 在模拟器中运行时文本字段垂直拉伸