Связывание статической библиотеки с проектом iOS в XCode 4
у меня есть проект (AQGridView
), который компилируется в статическую библиотеку, но я не могу добавить его в свой проект.
перетаскивание проекта в мой проект создает рабочую область, и если я попытаюсь связать С DerivedData
каталог он не распознает его как библиотеку. Я не уверен, что я делаю неправильно.
это . Кто-нибудь знает, как конкретно использовать его в проекте XCode 4?
6 ответов:
Я делаю это следующим образом:
- перетащить в проект статической библиотеки. Если у вас есть проект статической библиотеки, открытый в Xcode, закройте его сейчас.
- выберите основной проект в навигаторе проектов (проект, в который я добавляю статическую библиотеку) и в Редакторе под заголовком цели в левом столбце выберите цель моего основного проекта и перейдите на вкладку этапы сборки.
- Нажмите " + " для целевых зависимостей и добавьте целевой значок библиотеки зависимость от добавленного проекта статической библиотеки.
- Нажмите кнопку " + "для связи двоичного файла с библиотеками и добавьте значок библиотеки, который находится в папке"Workspace".
- также может потребоваться ввести путь поиска заголовков для заголовков проекта статической библиотеки, если именно так заголовки связаны в самом проекте статической библиотеки.
Если вы не видите проект статической библиотеки как вложенный в основной проект в главном проекте навигатор проектов, наиболее вероятной причиной этого является то, что собственный проект Xcode статической библиотеки все еще открыт. Закройте Xcode и откройте главный проект, в котором есть вложенный проект статической библиотеки, не открывая сам исходный проект статической библиотеки, и вы должны увидеть, что он отображается как вложенный проект в вашем основном проекте.
меню Xcode > вид > утилиты > инспектор файлов
Выберите файл статической библиотеки, а затем установите "тип файла" как "код объекта Mach-O" в "идентификатор и тип".
рабочие должны сделать это проще, но я не знаю, что они делают. Я делаю это так: создаю рабочее пространство, добавляю свой основной проект, добавляю свой проект библиотеки. Затем перейдите к этапам сборки основного проекта и добавьте библиотеку в разделе "Link binary with libraries" и добавьте библиотеку. Это должны быть все, что надо, по крайней мере, это мое чтение, но это не так. Что я сделать, это зайти в настройки Xcode, а затем в область исходных деревьев. Добавьте исходное дерево, которое указывает в заголовки статической библиотеки вернитесь к настройкам сборки для вашего проекта, затем к ключу пути поиска заголовка и введите ${foo} там, где "foo" - это то, что вы назвали исходным деревом.
вот что работает для меня, хотя я не знаю, если это лучший или самый простой способ сделать это.
найти свой .файл в finder и перетащите его в свой проект.
выберите "Копировать элементы в папку целевой группы (при необходимости)" и добавьте заголовки в свой проект.
теперь XCode 4 должен автоматически связываться с этой структурой для вас.
вот как должна выглядеть библиотека в вашем проекте:
следуйте за Apple документация.
вкратце:
- свяжите свою цель с библиотекой.
- добавить
-ObjC
в "другие флаги компоновщика" (OTHER_LDFLAGS
) в настройках сборки цели.кроме того, мне нужно было добавить библиотеку в схему моего основного проекта, так как библиотека не была видна в зависимостях цели.
ответ Галле работает для меня с одним дополнением:
- Регистрация Настройки Сборки проекта статической библиотеки путь к папке личных( или общедоступных) заголовков значение и скопируйте его.
- добавить скопированное значение в клиентский проект Параметры Построения Путь Поиска Заголовка или Путь Поиска Заголовка Пользователя в зависимости от включить директива, которую вы используете