2009-08-28 3 views
2

Если вы перейдете к разделу «Запись в файлы и URL-адреса» на этом link, будет ли путь varaible быть файлом на диске? Возможно ли записать файл в комплекте или он должен быть сначала развернут?Запись в файлы в комплекте?

+0

Вы спрашиваете, можете ли вы записать файл, хранящийся в вашем приложении? – mipadi

ответ

11

Вы можете записать файлы в комплект приложения столько, сколько захотите. Просто введите путь к файлу с помощью метода NSBundle pathForResource:ofType:, и вы можете записать его в этот файл. Если вы хотите только каталог пакета, используйте resourcePath.

Вы не хотите, чтобы сделать это. Существуют разные причины, но вы нарушите подписание кода, что является большим. Вместо этого вы должны использовать установленные соглашения (например, писать в библиотеку: поддержка приложений: ваше приложение).

EDIT: Для (возможно) более убедительной причины не делать этого ... Когда я впервые изучал программирование какао, я сохранил его в комплекте, потому что я не хотел беспокоиться о библиотеке. Это действительно раздражало, потому что каждый раз, когда вы вносите изменения в свою программу, вы теряете все свои сохраненные данные/настройки для этой программы (при условии, что вы не используете NSUserDefaults для настроек). Мне пришлось переместить его из старой версии в новую. Используя библиотеку, вам не нужно беспокоиться об этом.

+1

Плюс, а не _all_ пользователи могут записывать в файлы и каталоги в комплекте приложений. Вы действительно не должны писать в комплекте приложений. – mipadi

+0

Да, это хороший момент. – Cinder6

5

Пучок находится на диске; это просто каталог «.app». Однако вы не должны записывать файлы в этот каталог. Хотя в настоящее время это возможно на Mac, он нарушит подписание кода. На iPhone вы уже не можете писать в свой собственный пакет, и мы ожидаем увидеть это ограничение в будущем на Mac. Вы должны написать свои файлы приложений в различные каталоги в ~/Library или ~/Documents, если это необходимо. См. Руководство пользователя File System Programming Guide.

+0

ссылка не работает! –

+1

Обновлена ​​ссылка на новое место –

Смежные вопросы