как создать файл plist в xcode 4.3.2 - PullRequest
3 голосов
/ 03 апреля 2012

Я пытаюсь создать свой собственный plist-файл, который будет использоваться в моем приложении, я использую apple Documents в качестве ссылки для этого.

Однако я прочитал, что если вы создаете свой собственный plist, вам нужно поместить его в папку ресурсов в вашей сборке приложений. Проблема в том, что у меня нет папки ресурсов в моей сборке ... поэтому я задаюсь вопросом, что мне делать? .. Я прочитал это, ребята, ответьте здесь , он говорит, что хорошо просто разместить файл plist в вспомогательной папке Files. Это нормально для разрешения чтения и записи plist?

Ответы [ 2 ]

5 голосов
/ 03 апреля 2012

Для чтения и записи в plist рекомендуется скопировать его в корневой каталог документа, если вы хотите получить к нему доступ через пакет, у вас нет разрешения на запись. Я предоставил снимок кода здесь и как вы можете это сделать.

NSError *err;
NSFileManager *fileManager = [NSFileManager defaultManager];
//getting the path to document directory for the file
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentDir = [paths objectAtIndex:0];
NSString *path = [documentDir stringByAppendingPathComponent:@"YourFile.plist"];

//checking to see of the file already exist
if(![fileManager fileExistsAtPath:path])
{
    //if doesnt exist get the the file path from bindle
    NSString *correctPath = [[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"YourFile.plist"];
    //copy the file from bundle to document dir
    [fileManager copyItemAtPath:correctPath toPath:path error:&err];      
}
3 голосов
/ 03 апреля 2012

Вы можете поместить этот файл plist где угодно.Важная вещь будет копировать это в связку.Поэтому, чтобы быть уверенным в этой проверке project settings>build phases>copy bundle resources

Вы можете открыть настройки проекта, щелкнув левой кнопкой мыши по проекту в навигаторе проекта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...