Во-первых, вы жестко задаете путь к своему приложению, не принимая во внимание тот факт, что приложение будет установлено в разных местах на симуляторе на устройстве и, возможно, в разных местах на каждом другом устройстве.,И, во-вторых, кажется, вы пытаетесь обновить файл внутри пакета приложения;это недопустимо и может завершиться ошибкой, если iOS принудительно устанавливает недоступность для записи пакета приложения с помощью разрешений файловой системы.
Чтобы найти файл в вашем комплекте, вы должны использовать соответствующие методы NSBundle класс.Например, чтобы получить путь к файлу Data.plist, вы можете использовать [[NSBundle mainBundle] pathForResource:@"Data" ofType:@"plist"]
.
Если вы хотите изменить этот файл, вы должны сначала скопировать его в доступное для записи место (а затем в будущем).прочитайте это обратно из этого места, а не из вашей связки).Вы можете получить соответствующие каталоги, используя NSSearchPathForDirectoriesInDomains .Например, [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0]
даст вам путь к каталогу документов вашего приложения.Затем вы можете использовать что-то вроде [directory stringByAppendingPathComponent:@"Data.plist"]
, чтобы получить полный путь и имя файла для места, где вы можете хранить свой Data.plist.