iOS 本地存储的调试
iOS 本地存储的调试
iOS 本地存储形成的文件会在手机里,通过将文件从手机导出可查看其内容,同时对其进行修改后再导入手机可使用修改后的值。这样可以方便地进行本地存储相关的调试。
以 NSUserDefaults
的读写为例。
以下代码会创建 NSUserDefaults
数据并生成相应 plist 文件:
- (void)viewDidLoad {
[super viewDidLoad];
[self saveValue:@{@"foo" : @1, @"bar" : @2} forKey:@"dic"];
[self saveValue:@"some string..." forKey:@"myString"];
}
- (BOOL)saveValue:(id)value forKey:(NSString *)key {
[[NSUserDefaults standardUserDefaults] setObject:value forKey:key];
BOOL result = [[NSUserDefaults standardUserDefaults] synchronize];
return result;
}
数据的查看
- ⌘ + ⇧ + 2 打开
Devices and Simulators
- 找到对应的设备,选中相应的 App
- 点击设置按钮后选择
Download container...
将应用的包数据下载到电脑。
Download container
- 拿到包数据后,右键选择
Show Package Contents
。这样便可查看到应用中所有创建的文件及存储的数据。 - 拿 UserDefaults 数据来说,它位于
AppData->Library->Preferences
下,<identifier name>.plist
便是存储对应值的文件。
NSUserDefaults 的查看
数据的修改
使用 Xcode 打开后,可看到代码中写入的键值对,可在此对其进行更改并保存。 将修改的数据更新到手机,是上面下载 container 的逆向过程。
- ⌘ + ⇧ + 2 打开
Devices and Simulators
- 找到对应的设备,选中相应的 App
- 点击设置按钮后选择
Replace container...
弹出文件选择对话框。 - 选择之前下载的 container 文件进行写入。
- 等写入完成后,重新 build 运行项目后生效。