Вы можете сохранить текст в каталоге документов вашего приложения и разрешить им экспортировать его через iTunes. Вы также можете разрешить им отправить это по электронной почте.
Сохранение на диск:
Чтобы сохранить в каталоге документов приложения, вам нужно сделать несколько вещей. Прежде всего, вам нужно получить URL к каталогу пути. Метод для этого удобно генерируется XCode, когда вы делаете проект на основе Core Data. Вот этот метод:
- (NSURL *)applicationDocumentsDirectory{
return [[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject];
}
Далее, вы захотите взять этот URL и использовать его для записи нашего в каталог документов вашего приложения. В простейшем случае у нас есть строка с именем someText
, которую мы будем записывать в каталог Documents. Вот как это выглядит:
NSString *someText = "Here's to some awesome text.";
У нас есть путь, который называется path
. Обратите внимание, что мы берем путь к каталогу документов и затем добавляем имя файла. Вы можете заменить someText.txt
на любое имя файла, которое вы хотите использовать.
NSString *path = [NSString stringWithFormat:@"%@",[[[self applicationDocumentsDirectory] URLByAppendingPathComponent:@"someText.txt"] absoluteString]];
Мы просим строку записать себя в файл (в этом случае атомарно), и если она не удастся, мы заполняем объект error
, который мы можем прочитать позже при необходимости. Обратите внимание на опцию «атомно» здесь. Если установлено значение YES
, приложение запишет текст в буфер и переименует его позже. Если он не установлен на YES
, текст будет записан прямо в текст. Это имеет значение в многопоточных средах и может защитить ваш текст от каких-либо искаженных результатов, но атомарная запись медленнее.
Вот весь приведенный выше код сразу:
//Write to the file
[someText writeToFile:path atomically:YES encoding:NSUTF8StringEncoding error:&error];
NSString *someText = "Here's to some awesome text.";
NSError *error = nil;
NSString *path = [NSString stringWithFormat:@"%@",[[[self applicationDocumentsDirectory] URLByAppendingPathComponent:@"someText.txt"] absoluteString]];
//Write to the file
[someText writeToFile:path atomically:YES encoding:NSUTF8StringEncoding error:&error];
Чтение файла из iTunes:
Это забавная часть. В Xcode вам нужно добавить ключ к файлу Info.plist вашего приложения. Вот как это будет выглядеть в Xcode 4:
![Enabling iTunes sharing](https://i.stack.imgur.com/jyRMh.png)
Теперь в iTunes будет виден каталог документов вашего приложения.
В качестве альтернативы (или в дополнение к iTunes) вы можете использовать платформу MessageUI и позволить пользователю отправить файл по электронной почте.