Предоставление заголовков в статической библиотеке iPhone - PullRequest
1 голос
/ 20 апреля 2010

Я следовал этому руководству по настройке статической библиотеки с общими классами из 3 проектов, над которыми мы работаем.

Все довольно просто, создайте новый проект статической библиотеки на xcode, добавьте туда код, измените роль некоторых заголовков с project на public. В учебнике говорится, что я должен добавить свою библиотечную папку в header search paths рекурсивно.

Это правильный путь?

Я имею в виду, что в моем проекте библиотеки у меня есть файлы, разделенные по папкам, такие как Global/, InfoScreen/, Additions/. Я пытался настроить один LOKit.h файл в корневой папке, и внутри этого файла #import все, что мне нужно было показать. Поэтому в моем хост-проекте мне не нужно рекурсивно добавлять папку в путь поиска заголовка, а просто #import "LOKit.h".

Но я не мог заставить это работать, проект хоста не будет собирать жалобы на все классы, которые я не добавил в LOKit.h, даже если проект библиотеки собирает.

Итак, мой вопрос: каков правильный способ отображения заголовочных файлов при настройке проекта Cocoa Touch Static Library на xCode?

Ответы [ 2 ]

1 голос
/ 26 апреля 2010

В итоге я настроил LOKit.h в корневой папке проекта следующим образом:

#import "Global/LOCommon.h"
#import "Additions/LOAdditions.h"
#import "View/LOCustomView1.h"
#import "View/LOCustomView2.h"

И в моем хост-проекте я установил переменную пути поиска заголовка для корневой папки моей библиотеки без рекурсии. Всякий раз, когда мне нужно, я просто импортирую LOKit.h.

Я также включил в этот библиотечный проект общие библиотеки (такие как JSON, FBConnect и Reachabillity), которые были разделены между проектами. Таким образом, мне нужно всего лишь обновить эти библиотеки в одном месте, один раз.

0 голосов
/ 22 апреля 2010

При использовании статических библиотек я обычно иду одним из следующих двух способов:

Если я создал библиотеку сам, и она несколько тесно связана с проектом, использующим lib, я обычно создаю исходный корень для библиотеки в настройках XCode. Затем вы можете рекурсивно добавить исходный корень в качестве переменной к путям заголовка.

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

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