Cocoa — считывает содержимое файла?

#objective-c #cocoa #filepath #readfile

#objective-c #cocoa #путь к файлу #прочитать файл

Вопрос:

Я просто пытаюсь прочитать содержимое текстового файла, который находится в моем проекте в главной папке.

 // file name is "logs"
// it returns nil
NSString *bundlePath = [[NSBundle mainBundle] pathForResource:@"logs" ofType:nil];


// file name is "logs.txt"
// it returns nil
NSString *bundlePath = [[NSBundle mainBundle] pathForResource:@"logs" ofType:@"txt"];
  

Вопросы:

  • Как я могу получить путь к файлу, который включен в мой проект?
  • Как я могу получить путь к корневой папке моего проекта?

Комментарии:

1. Когда вы создаете свой проект, являются ли файлы ресурсов (журналы, logs.txt ) копируется в каталог ресурсов? Обратите внимание, что это должно произойти в каталоге build .

2. Вам нужно убедиться, что эти файлы перечислены на этапе сборки пакета копирования ресурсов нашей цели. В Xcode 4 выберите свой корневой проект в Навигаторе проектов> выберите свою цель> Этапы сборки> Скопировать ресурсы пакета.

3. почему бы вам не опубликовать это в качестве ответа? Я добавил файл в свою цель, и это устранило проблему. Спасибо

4. Хехех, я как раз этим и занимался! =)

Ответ №1:

Тот факт, что файл присутствует в каталоге вашего проекта, не означает, что файл будет скопирован в соответствующий пакет целевого приложения. Вам необходимо добавить файл к целевому объекту на этапе сборки Copy Bundle Resources.

Для того, чтобы проверить и отредактировать список файлов, которые скопированы в каталог bundle в Xcode 4:

  • Выберите свой корневой проект в навигаторе проектов
  • Щелкните свою цель
  • Выберите этапы сборки > Копировать ресурсы пакета

Примечание: когда вы добавляете файл в проект с помощью Xcode, диалоговое окно добавить файл предоставляет вам выбор добавления этого файла к целевому объекту, чтобы вам не нужно было выполнять эти шаги позже.