2015-04-21 3 views
0

После того, как я создаю приложение с sqlite. Я установил менеджер SQLite в Firefox. Не помогает, потому что я действительно не знаю, где этот файл. Я пробовал много способов. И, наконец, я пытаюсь найти этот файлГде мой файл базы данных в проекте xcode

_databasePath = [[NSString alloc] initWithString:[docsDir stringByAppendingPathComponent:@"myUsers.db"]]; 

Чтобы открыть с MesaSQLite Тем не менее та же проблема. Где мой файл.

Вот последний способ я использовал:

/Users/{YOUR NAME}/Library/Developer/CoreSimulator/Devices/{DEVICE ID}/data/Containers/Data/Application/{APPLICATION ID}/ 

Я до сих пор не могу найти его. Я открываю почти все папки проектов. Пожалуйста, помогите мне.

+0

Какая структура базы данных вы используете '' CoreData' или Sqlite3'? –

+0

sqlite3 ........ – Masaru

+0

Папка библиотеки скрыта в mac. Вам нужно заставить его видеть его. Ваш файл db находится там –

ответ

2

Не открывать библиотеку на MacintoshHDD. Вам нужно открыть библиотеку в папке USERName. Там обычно папка библиотеки скрыта. Для просмотра скрытых файлов необходимо выполнить следующие действия.

Или просто скопируйте путь в поисковый искатель на своем mac.It вы получите прямо.

Долгий путь, чтобы показать скрытые Mac OS X файлы следующим образом:

 Open Terminal found in Finder > Applications > Utilities. 

В терминале, вставьте следующее:

 defaults write com.apple.finder AppleShowAllFiles YES. 
      Press return. 
     Hold 'alt' on your keyboard, then right click on the Finder icon in the dock and click Relaunch. 
+0

На самом деле, я прочитал этот метод раньше, и я попробовал. Я ничего не нашел. Но сегодня я снова использую его и пытаюсь открыть каждую папку (тяжелая работа). Наконец, я нашел все db, которые я хотел. – Masaru

+0

может быть в то время, когда вы не открыли нужную папку. Я знаю, что это сбивает с толку в первый раз. Даже сначала я столкнулся с проблемой. Я рад, что ваша проблема решена. Спасибо! –

0

Вы должны быть в состоянии найти это, используя этот метод:

- (NSURL *)applicationDocumentsDirectory 
{ 
    NSLog(@"%@",[[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject]); 

    return [[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject]; 
} 

Просто скопировать пасты все, что вошли в Navigate в папку, где хранятся файл sqlite

Конечный результат должен выглядеть следующим образом :

~/Library/Developer/CoreSimulator/Devices/4D2D127A-7103-41B2-872B-2DB891B978A2/data/Containers/Data/Application/0323215C-2B91-47F7-BE81-EB24B4DA7339/Documents/MyApp.sqlite 

Обратите внимание, что длинные идентификаторы, очевидно, будут разными, а также имя файла.

+0

Спасибо Я попробую – Masaru

+0

Я пробовал. Ри на последней строке перед @end. Я ничего не вижу. – Masaru

+0

Вы ничего не видите в консоли? Просто попробуйте поместить NSLog где-нибудь в свой код, это то же самое (в представлении загрузилось или в appdelegate didfinishlaunching) Является ли строка хотя бы названной? –

0

Вы просто следуете строке кода в журнал.

NSString *databasePath = [[NSBundle mainBundle] pathForResource:@"myUsers" ofType:@"db"]; 

Или используйте нижеприведенный код.

NSBundle* bundle = [NSBundle bundleWithPath:[[NSBundle mainBundle] pathForResource:@"myUsers" ofType:@"bundle"]]; 
NSLog(@"%@", bundle); 
NSString* test = [bundle pathForResource:@"myUsers" ofType:@"db"]; 
NSLog(@"%@", test); 
NSDictionary* dict = [NSDictionary dictionaryWithContentsOfFile:[bundle pathForResource:@"Root" ofType:@"plist"]]; 
NSLog(@"%@", dict); 
+0

Спасибо Я попробую – Masaru

+0

Вот что я получил: 2015-04-21 13: 36: 00.548 SQLexample [3217: 44848] (null) 2015-04-21 13: 36: 00.549 SQLexample [3217: 44848] (null) 2015-04-21 13: 36: 00.549 SQLexample [3217: 44848] (null) 2015-04-21 13:36 : 00.550 SQLexample [3217: 44848] ( dgdxx, "" ) – Masaru

+0

Не могли бы вы проверить имя и расширение базы данных. –

Смежные вопросы