Да Cocoa Touch для iPhone OS обеспечивает доступ к файлам. С оговоркой, что он, естественно, разрешает доступ к файлам только для файлов, к которым у текущего пользователя есть права на чтение и запись. Каждое приложение запускается как один пользователь, и на самом деле имеет доступ только к собственной небольшой песочнице файлов. Таким образом, вы не сможете получить доступ к системным файлам или файлам из другого приложения.
Существует два основных каталога, к которым вы можете обращаться к своему приложению:
NSDocumentDirectory
- Аналогично вашей собственной папке «Документы», содержимое этой папки резервируется при синхронизации устройства.
NSCachesDirectory
- Этот файл находится в / Library / Caches / и не резервируется при синхронизации устройства.
Вы получите путь к этим каталогам, используя функцию NSSearchPathForDirectoriesInDomains
. При поиске вы получите массив потенциальных путей, первый путь безопасен, если вы выполняете поиск только в домене пользователя. Например:
NSArray* paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,
NSUserDomainMask, YES);
NSString* docsPath = [paths objectAtIndex:0];
Если у вас есть путь, вы можете работать с файлами, используя файловый менеджер по умолчанию. Например, удалите файл:
NSFileManager* fm = [NSFileManager defaultManager];
[fm removeItemAtPath:filePath error:NULL];