Запись в список свойств на iPod Touch не работает, но работает в симуляторе

StackOverflow https://stackoverflow.com/questions/970447

Вопрос

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

Существуют ли какие-либо различия между обновлением списков свойств с помощью симулятора и с помощью iPod Touch?

    if(indexEdit == [data count])
    {
        NSString *temp = [NSString stringWithFormat:@"%@", textField.text];
        [self.data addObject:temp];
    }
    else
    {
        NSString *temp = [NSString stringWithFormat:@"%@", textField.text];
        [data replaceObjectAtIndex:indexEdit withObject:temp];
    }
    NSString *errorDesc;
    NSString *bundlePath = [[NSBundle mainBundle] pathForResource:@"Fortunes"  ofType:@"plist"];
    NSData *plistData = [NSPropertyListSerialization dataFromPropertyList:data format:NSPropertyListXMLFormat_v1_0 errorDescription:&errorDesc];
    if (plistData)
    {
        [plistData writeToFile:bundlePath atomically:YES];
    }
    else 
    {
        NSLog(errorDesc);
        [errorDesc release];
    }
Это было полезно?

Решение

Я думаю, что ваш пакет приложений считается в значительной степени доступным только для чтения.Если вы хотите записать файл, вы должны поместить его в папку "Документы", что-то вроде:

NSArray *savePaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSMutableString *savePath = [NSMutableString stringWithString:[savePaths objectAtIndex:0]];
[savePath appendString:@"/Fortunes"];

// blah blah

[plistData writeToFile:savePath atomically:YES];
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top