Я добавляю группу приложений в свое приложение для совместного использования одного слоя между приложением и часами. Я использовал, чтобы скопировать plist из пакета в Документы, когда приложение впервые запустилось. Но с часами я теперь пытаюсь преобразовать его, чтобы сохранить его в контейнере, но он всегда кажется пустым. Цели включают группу приложений, и я использую правильное имя в своем коде. Что может пойти не так?Копирование plist в App Group Container - iOS 8
Старый Путь
// COPY PLIST TO DOCUMENTS
NSFileManager *fileManger=[NSFileManager defaultManager];
NSError *error;
NSArray *pathsArray = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);
NSString *doumentDirectoryPath=[pathsArray objectAtIndex:0];
NSString *destinationPath= [doumentDirectoryPath stringByAppendingPathComponent:@"badger.com.vacations.plist"];
NSLog(@"plist path %@",destinationPath);
if (![fileManger fileExistsAtPath:destinationPath]){
NSString *sourcePath=[[[NSBundle mainBundle] resourcePath]stringByAppendingPathComponent:@"badger.com.vacations.plist"];
[fileManger copyItemAtPath:sourcePath toPath:destinationPath error:&error];
}
Новый путь - не работает
// COPY PLIST TO CONTAINER
NSURL *containerURL = [[NSFileManager defaultManager] containerURLForSecurityApplicationGroupIdentifier:@"group.com.xxxxx.xxx.container"];
containerURL = [containerURL URLByAppendingPathComponent:@"name.com.data.plist"];
NSString *destinationPath= containerURL.path;
NSLog(@"destinationPath %@", containerURL);
NSString *sourcePath=[[[NSBundle mainBundle] resourcePath]stringByAppendingPathComponent:@"name.com.data.plist"];
[fileManger copyItemAtPath:sourcePath toPath:containerURL.path error:&error];
СОК это хорошо, но я не видим никаких причин, почему вы не сможете напрямую использовать файл plist. Что именно происходит? Файл не написан? Написан пустой файл? Есть что-нибудь в «ошибке»? – gregheo