2016-09-13 4 views
0

Я борюсь со следующей ошибкой NSCocoaErrorDomain 513 сообщили очень небольшое число пользователей:Проблемы запись файлов на прошивке

Unable to create directory at path /var/mobile/Containers/Data/Application/EBE2C5D8-5AEC-4D62-9393-B19CAD598FE5/Documents/documents/FF2F88FB-2C07-4FA3-988E-58AD5C21F659/9A02F8A0-74EB-4ED6-81B6-4F40653856D3. 
Error: Error Domain=NSCocoaErrorDomain Code=513 "You don’t have permission to save the file “9A02F8A0-74EB-4ED6-81B6-4F40653856D3” in the folder “FF2F88FB-2C07-4FA3-988E-58AD5C21F659”." 
UserInfo={ 
    NSFilePath=/var/mobile/Containers/Data/Application/EBE2C5D8-5AEC-4D62-9393-B19CAD598FE5/Documents/documents/FF2F88FB-2C07-4FA3-988E-58AD5C21F659/9A02F8A0-74EB-4ED6-81B6-4F40653856D3, 
    NSUnderlyingError=0x15e09de00 { 
     Error Domain=NSPOSIXErrorDomain 
     Code=13 "Permission denied" 
    } 
} 

Эта ошибка означает, что каталог не может быть создан из-за ошибки доступа , Вот где я потерялся, потому что единственная причина, по которой я могу это видеть, - создать файл за пределами изолированной программы моего приложения.

код, генерирующий эту ошибку:

NSArray* paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString* documentsDirectory = [paths objectAtIndex:0]; 
NSString *directory = [documentsDirectory stringByAppendingPathComponent:documentsPathAndUUIDs]; 

NSError *error = nil; 
if (![[NSFileManager defaultManager] createDirectoryAtPath:directory 
           withIntermediateDirectories:YES 
               attributes:nil    
                error:&error]) { 
    NSError(@"Unable to create directory at path %@. Error: %@", directory, error); 
} 

Пару вещей стоит отметить:

  • Этот путь не сохраняется, он регенерируется каждый раз, так что это не так, если контейнер приложение было изменено между установками;
  • У пользователей, похоже, есть дисковое пространство;
  • Это влияет, по крайней мере IOS 9 (у меня нет достаточно отчетов, чтобы знать, если он также влияет на IOS 10)

ли кто-нибудь есть намек, почему это могло произойти?

ответ

0

У вас есть привилегии sudo/chown on/var? Если нет, и вы используете ОС пост Mavericks, возможно, потребуется перезагрузить в безопасном режиме и отключить CSRUtil

Documentation on CSRUtil

+0

мой вопрос связан с прошивкой – Kamchatka

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