Я прочитал кучу потоков, которые говорят о путях в каталоге документов, меняющихся при каждом запуске симулятора, но обсуждение касается DeviceID, с которым я согласен не меняется. Что меняется, так это ApplicationID и, по крайней мере, используя метод, который я должен найти, я не могу найти его в следующем запуске, поэтому мой sql db не существует.Симулятор Xcode 6 переименовывает ApplicationID (не DeviceID) для каждого запуска
Вот и пример того, что я вижу:
Первый запуск: Документы Каталог:/Users/annewest/Library/Developer/CoreSimulator/Devices/9DE1C194-BFB1-47CA-9CA1-77FA89F43960/данные/Контейнеры/Данные/Приложение/4EFF7925-BB9E-4D9F-BD8C-B5BF44361189/Документы
Затем я останавливаю приложение в Xcode и снова запускаю. Теперь я вижу
Второй запуск: Документы Каталог:/Users/annewest/Library/Developer/CoreSimulator/Devices/9DE1C194-BFB1-47CA-9CA1-77FA89F43960/данные/Контейнеры/Data/Application/8409664B-8EF4-4318 -A6D7-EB07E965F0F6/Документы
Обратите внимание, что первая случайная строка DEviceID идентична, но ApplicationID изменен.
Вот код, я использую, чтобы найти каталог и путь к файлу и создать постоянный магазин координатор:
- (NSString *) documentsDirectory
{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths lastObject];
NSLog(@"Documents directory%@", documentsDirectory);
return documentsDirectory;
}
- (NSString *) dataStorePath
{
return [[self documentsDirectory] stringByAppendingPathComponent:@"DataStore.sqlite"];
}
- (NSPersistentStoreCoordinator *) persistentStoreCoordinator
{
if (!_persistentStoreCoordinator) {
NSURL *storeURL = [NSURL fileURLWithPath:[self dataStorePath]];
_persistentStoreCoordinator = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:self.managedObjectModel];
NSError *error;
if (![_persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeURL options:nil error:&error]) {
NSLog(@"Error adding persistent store %@ %@", error, [error userInfo]);
abort();
}
}
return _persistentStoreCoordinator;
}
Может кто-то с большим знанием, чем я помочь разобраться в этом?
Thx