2014-09-27 4 views
0

Я прочитал кучу потоков, которые говорят о путях в каталоге документов, меняющихся при каждом запуске симулятора, но обсуждение касается 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

ответ

0

После ковыряться в течение часа, вот что я обнаружил:

Имея различные ApplicationID отлично; система просто переименовывает каталог, но содержимое остается неизменным. Меня обманывала Лира, которая не могла найти оригинальный каталог.

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

  • Нет связанных вопросов^_^