Я пытаюсь просмотреть данные, написанные Core Data в приложении iOS, которое я разрабатываю.Прочитайте файлы основных данных моего приложения (.sqlite, .sqlite-wal)
После того, как приложение запустилось некоторое время, и я предполагаю, что собрал некоторые данные, теперь я хочу просмотреть данные и посмотреть, что было написано.
Я пытался получать и просматривать файл .sqlite
через получение контейнера приложение из устройства (Xcode> Устройства> MYAPP> Скачать контейнер ...).
Я получил файлы db, myAppDB.sqlite
, myAppDB.sqlite-shm
и myAppDB.sqlite-wal
.
При попытке просмотреть их, похоже, что .sqlite
- это пустой стол (за исключением, может быть, какого-то общего материала CoreData/sqlite), а файл -wal
имеет всю информацию.
Дело в том, что wal
имеет полезные данные при открытии его с помощью TextEdit, которые не показывают его в очень читабельном виде, и когда я пытался использовать приложение SQLite Manager, я предупреждаю заявив, что зашифрован, и меня попросят поместить пароль ...
Для чего важно, я пишу фреймворк, который обрабатывает db (файл модели и код для записи данных находятся внутри рамки) то у меня эта фреймворк работает в приложении, которое я разрабатываю. Это код, я использую, чтобы создать хранилище внутри структуры (с использованием MagicalRecord):
NSBundle *frameworkBundle = [NSBundle bundleForClass:[self class]];
[MagicalRecord setDefaultModelNamed:@"myAppStore.momd" inBundle:frameworkBundle];
NSURL *storeURL = [[self applicationDocumentsDirectory] URLByAppendingPathComponent:@"myAppStoreDB.sqlite"];
[MagicalRecord setupCoreDataStackWithStoreAtURL:storeURL];
UPDATE: мне удалось открыть sqlite
файл как Core-Data-Editor и CoreDataUtility, но они оба переопределение и удалить содержимое файла .wal
и показать пустую таблицу ... У нее есть модель (имена/свойства сущностей и т. д.), но нет данных.
Мой wal
файл 873KB, но когда я открываю sqlite
с одним из этих 2-х инструментов он становится 0Bytes ...
ТЛ; дг
Как я могу просматривать информацию написанном Ядра Данные приложения, которое я разрабатываю?
Я считаю, что он зашифрован и подписан вами, чтобы предотвратить проблемы конфиденциальности при развертывании. – Schemetrical
@Schemetrical Да, я предполагал, что, но учитывая тот факт, что я никогда не подписывал/не зашифровывал его, это делается с некоторой конфигурацией по умолчанию, что я не мог понять, как расшифровать ... И здесь мне нужна помощь. .. –
Ни один файл не зашифрован. Пока вы не нарушаете связь между файлом '.sqlite' и файлом' -wal', все данные должны быть видимыми, если вы открываете файл '.sqlite' с помощью SQLite Manager (даже без [контрольной точки] (http://www.sqlite.org/wal.html#ckpt)). –