我在 Xcode-6 Beta for IOS 8 中找不到新模拟器数据的目录
它不在 ~/Library/Application Support/iPhone Simulator/
我在 Xcode-6 Beta for IOS 8 中找不到新模拟器数据的目录
它不在 ~/Library/Application Support/iPhone Simulator/
像这样的东西:
/Users/{YOUR NAME}/Library/Developer/CoreSimulator/Devices/{DEVICE ID}/data/Containers/Data/Application/{APPLICATION ID}/
设备 ID 可能有点难以找到(基本上,您拥有的每个模拟器都有一个具有随机名称的文件夹)。为了找到正确的文件夹,我使用了这个终端命令:
find ~ -name myFile.txt
myFile.txt
我的应用程序中的文件之一在哪里。然后终端打印出完整的位置——如果你有一个可以搜索的文件(或者,可以制作一个),这对你来说可能比逐个检查更有用。
在 XCode 6 中真的很难找到。但我以简单的方式做到这一点:
打开 XCode 后,只需在 Debug Area 中写入:
或记录:
NSLog(@"%@", [NSBundle mainBundle]);
结果是这样的:
之后,您可以打开终端应用程序并使用以下命令转到路径:
[更新]
我发现了一个很棒的应用程序:http ://simpholders.com/
要在 iOS 8 Simulator 中找到应用程序的Documents文件夹,您可以先在 Documents 文件夹中写入一个文件:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *fileName = [documentsDirectory stringByAppendingPathComponent:@"Words.txt"];
NSString *content = @"Apple";
[content writeToFile:fileName atomically:NO encoding:NSStringEncodingConversionAllowLossy error:nil];
说,在didFinishLaunchingWithOptions
。
然后您可以打开终端并找到文件夹:
$ find ~/Library -name Words.txt
好的,我对手动查找内容感到沮丧。我会把我的笔记放在上面,以显示什么似乎不起作用。
SimPHolders 是有效的,对我来说是一个很大的解脱。去谷歌上查询。下载它。运行。享受。
打开模拟器,进入硬件->设备->管理设备。
一个窗口显示,概述了每个可用的模拟器,以及每个模拟器的唯一标识符。
因此,在您在 Finder 中导航到 ~Library/Developer/CoreSimulator 后,您可以通过查找唯一标识符来判断其中的哪些目录包含您想要的模拟器。
一旦进入那里,您仍然需要进一步深入研究......在我的情况下,我发现我必须导航到数据/容器/数据/应用程序,然后查找里面有今天日期的文件夹。
最后!我到达了我熟悉的 Documents 和 Library 文件夹。
再次感谢 Apple,让我们的 iOS 开发人员获得了丰厚的就业机会!
XCode6 中的 Simulators 目录移至:
Library ▸ Developer ▸ CoreSimulator
应用程序文件夹的完整路径:
~/ ▸ Library ▸ Developer ▸ CoreSimulator ▸ Devices ▸ 5D71993D-78C2-49F4-9B30-99D0307D3A2F ▸ data ▸ Containers ▸ Data ▸ Application ▸ AE50273B-993C-45DA-97E8-3F88E4B64BDE ▸ Documents ▸ xyz.sqlite
您可以在应用程序委托“didFinishLaunchingWithOptions”方法中添加 NSLog,以便它们打印您的路径
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
#if TARGET_IPHONE_SIMULATOR
NSLog(@"APP BUNDLE :: %@", [NSBundle mainBundle]);
NSLog(@"APP DOCUMENTS :: %@", [[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject]);
#endif
...