在模拟器中运行时从应用程序获取工作目录
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