从设备获取NSUserDefaults plist文件

Ale*_*lan 5 iphone objective-c plist nsuserdefaults ios

在模拟器上测试我的应用程序时,我喜欢编辑甚至从iPhone模拟器文件夹中删除应用程序plist文件(包含NSUserDefaults)的功能.这在测试时证明是有用的(例如,您的应用程序在那里存储字典,但您更改了用于此数据的模型/键,因此需要删除存储的字典).

是否可以在设备上访问此文件(对于您自己的应用程序),而不是越狱?

提前致谢

Jan*_*ano 5

该文件在Library/Preferences.该文件是带有名称的二进制plist <iOS application target identifier>.plist(在应用程序目标设置中查找Identifier字段),或列出目录内容:

NSString *path = [NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES) firstObject];
NSArray *dirContents = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:path error:nil];
Run Code Online (Sandbox Code Playgroud)

您还可以使用#ifdef基于某些env变量的宏加载干净的默认值:

#ifdef TESTING
    // use the code provided by tsakoyan below
#endif
Run Code Online (Sandbox Code Playgroud)