Как правильно добавить существующие файлы исходного кода в мой проект XCode? - PullRequest
5 голосов
/ 21 мая 2010

Я новичок в разработке для iPhone и все еще знакомлюсь со средой разработки Mac, включая Xcode. Я хочу добавить какой-нибудь сторонний код в свой проект iPhone, но когда я добавляю «существующие файлы» в свой проект Xcode, у меня появляется диалоговое окно, в котором слишком много опций, которые я не понимаю, и, как такой, мой проект не работает. Когда я #import headerfilename.h, я получаю ошибку сборки, которая читает headerfilename.h: No such file or directory.

альтернативный текст http://joecrotchett.com/images/misc/fileadd.jpg

  1. Может кто-нибудь объяснить мне, что означают все эти опции, или дать ссылку на какую-нибудь документацию, которая может? Мне трудно найти что-нибудь в документах Apple.
  2. Какие опции я хочу выбрать, чтобы добавить существующие файлы исходного кода в мой проект XCode? Я должен отметить, что файлы исходного кода, которые я пытаюсь добавить, находятся в моем каталоге проекта / Classes / frameworkname /.
  3. После того, как они будут добавлены, нужно ли где-нибудь ссылаться на этот новый каталог кода в настройках моего проекта (т. Е. Какая-то переменная каталога заголовочного файла)?

Большое спасибо!

Обновление: Я нашел следующие ответы / ответы на форумах Apple Dev, которые были очень полезны и помогли мне решить мою проблему ...

Для простоты: - если вы не отметите опцию копирования, файл останется там, где он есть. - если вы проверите его, он будет скопирован в папки вашего проекта в первом случае (что, кажется, вы делаете) вам нужно сообщить компилятору, что заголовок файлы находятся в другом каталоге: - информация о проекте -> сборка -> пути поиска -> Путь поиска заголовка пользователя: добавить каталог, откуда вы взяли заголовочный файл Надеюсь, что это поможет


Вы обнаружили самое запутанное диалоговое окно, которое когда-либо выходило из Купертино. Шесть лет Xcode и эта вещь до сих пор отчасти остается загадкой мне. Чтобы даже получить это далеко, я должен был сделать много тестовых проектов, чтобы попытаться перепроектировать, что делает эта вещь. Поле «Копировать» означает, что оно будет копировать файлы, как они есть сейчас, в проект. Если эта коробка не проверил, то это просто ссылки на те файлы во время сборки и копирует их как они в это время. Для источника код, вы хотите установить флажок Копировать.
«Относительно» является полной загадкой для меня, и я не могу помочь вам с этим. Я обычно оставляю это, однако это уже установлено. Означает ли это по отношению к где они находятся на диске, или расположение в Xcode или в расслоение? Кто знает. Последние 2 радио кнопки SEEM означают, что это будет либо заново создайте структуру папок папки, которую вы добавляете, или просто положить "поддельные" папки в Xcode этой точке в настоящие папки. Это наверное ваша проблема - вы добавляете источник код, который не все на верхнем уровне, и когда это идет, чтобы найти это, это делает не пересоздавать иерархию. другие можно предложить лучший способ, надеюсь, но то, что я хотел бы сделать, это положить все источник в одну папку и добавить это, используя поле Копировать. Тогда в Xcode вы может сделать любые поддельные папки, которые вы хочу и положить имена исходных файлов в эти поддельные папки.

Ответы [ 4 ]

4 голосов
/ 10 июля 2012

Это из руководства пользователя Xcode:

"Навигатор проектов показывает проекты, группы, папки и файлы:

Проект или проекты в вашем рабочем окне являются наивысшим уровнем иерархии в навигаторе проекта. Откройте проект раскрывающий треугольник, чтобы увидеть группы, папки и файлы в проект. Выберите проект для отображения редактора проекта, где вы можно просматривать и редактировать настройки проекта и цели.

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

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

Файл в навигаторе проекта - это ссылка на файл на диске. "

2 голосов
/ 21 мая 2010

Я думаю, что обычно лучшим вариантом является вариант по умолчанию. Если вы хотите добавить в какую-либо группу, вы можете поставить галочку в «Копировать элемент в группу назначения»

Вам не нужно менять настройки проекта после добавления

И если вы хотите добавить весь код фреймворка, пожалуйста, выберите добавить существующий фреймворк

0 голосов
/ 21 мая 2010

Копирование элементов в целевую группу папка (при необходимости)

Ну, только если вы хотите скопировать файлы. Если вы довольны существующим местоположением и не хотите, чтобы оно копировало их, не выбирайте его (это то, что я делаю).

Тип ссылки:

Полная загадка для меня

Кодировка текста

Нет объяснений

Рекурсивно создавать группы для любого добавленные папки Создать папку Ссылки для любых добавленных папок

Оставьте это значение по умолчанию, а затем организуйте папки в своем проекте Xcode любым удобным для вас способом.

Добавить к цели

Если вы добавите дополнительную цель в ваш проект, например, для версий iPhone и iPad то, что он не заметил, что по умолчанию он добавил файлы только в один из них (случайно?), может вызвать головную боль.

Кроме того, убедитесь, что вы добавили новый каталог заголовков в пути поиска в «Настройки проекта»> «Сборка»> «Пути поиска». Я думаю, это то, что вызывает твою проблему.

Надеюсь, это поможет, я помню, насколько поначалу это меня смущало.

0 голосов
/ 21 мая 2010

Если вы хотите добавить Framwork Bundle, просто добавьте как один. Add -> Existing Frameworks

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