#ios #iphone #xcode #nsfilemanager #ios8
#iOS #iPhone #xcode #nsfilemanager #ios8
Вопрос:
- (void) readTheFile{
NSError *error;
NSFileManager *fileManager = [NSFileManager defaultManager];
NSString *path = [self getTheFilePath];
if (![fileManager fileExistsAtPath: path])
{
NSString *bundle = [[NSBundle mainBundle] pathForResource:@"setting" ofType:@"plist"];
[fileManager copyItemAtPath:bundle toPath: path error:amp;error];
}
}
- (NSString *)getTheFilePath{
NSURL *url = [[NSFileManager defaultManager] containerURLForSecurityApplicationGroupIdentifier:@"com.group.test"];
NSString *path = [url.absoluteString stringByAppendingPathComponent:@"setting.plist"];
path = [path stringByReplacingOccurrencesOfString:@"file:" withString:@""];
return path;
}
Привет всем, у меня проблема с путаницей.
У меня есть две цели в одном проекте, одна из которых является целью расширения.
Итак, я хочу поделиться некоторым файлом plist в обоих целевых приложениях. Итак, я успешно создал групповое приложение в возможностях для обеих целей.
Моя идея заключается в том, что я создал файл plist в одном целевом и другом приложении расширения, которое должно проверить то же местоположение (приведенный выше код) и проверить, существует файл или нет. Если не существует, создайте новый файл plist.
Я протестировал на симуляторе все нормально.
но когда я запускаю на устройстве, появляются все странные вещи.
Когда я читаю файл, getTheFilePath указывает правильный путь, но когда я проверил, существует файл или нет. Он показывает НЕТ.
Но на самом деле я уже создал файл из первой цели.
Итак, программа продолжит и скопирует файл из пакета и вставит в путь.
Но я получил сообщение об ошибке, что файлы уже существуют.
Error Domain=NSCocoaErrorDomain Code=516 "The operation couldn’t be completed. (Cocoa error 516.)"
"The operation couldn’t be completed. File exists"
Иногда он автоматически перезапускает устройство. ПОЧЕМУ?
Пожалуйста, помогите мне, я использую бета-версию xCode 6 и протестирован на iOS8 iPhone5S
Комментарии:
1. вы нашли решение для этого.
Ответ №1:
В последнее время я много изучал группы приложений, особенно с появлением iOS 8, и уже несколько раз сталкивался с этой проблемой. Оказывается, это ошибка в текущей бета-версии Xcode. Я уверен, что вы уже поняли это, но для всех, кто не обновился и все еще имеет ту же проблему, это должно решить ее.
Ответ №2:
Извлекаемый вами URL-адрес будет выглядеть следующим образом: file:///var/mobile/Containers/...
так что, возможно, вам следует попробовать использовать что-то подобное, что работает для меня:
NSString *path = [url.absoluteString stringByReplacingOccurrencesOfString:@"file://" withString:@""];