2011-01-05 2 views
1

Я работаю с библиотекой с открытым исходным кодом, доступной как репозиторий git (XML-RPC), и я хотел бы использовать его в приложении для iPad. Насколько я понимаю, приложения iOS должны использовать статические библиотеки для их компоновки.Переконфигурирование динамической библиотеки

Поскольку это происходит как динамическая библиотека, как я могу преобразовать ее в нечто, что я могу связать с моим приложением и использовать?

ответ

0

Я закончил тем, что делал это в несколько шагов:

Во-первых, я открыл проект библиотеки в Xcode и создал новую цель для статической библиотеки. Затем я создал каталог в папке проекта под названием «XMLRPC» и переместил в него все файлы заголовков. Я удалил теперь красные недопустимые ссылки на файлы заголовков и повторно добавил их (но не сохранил поле для копирования их в текущую папку).

Я добавил этот проект Xcode в свой основной проект с относительной ссылкой. Я открыл целевое приложение моего основного приложения и добавил проект библиотеки как прямую зависимость и проверил параметр «Всегда искать пользовательские пути» в целевых настройках моего основного приложения.

Наконец, я изменил общие настройки Xcode, чтобы использовать общий каталог сборки. Я не пробовал это без этого, потому что это было то, что я хотел в любом случае; это может быть необязательно.

В моем контроле версий есть две папки: мой проект, а другая библиотека. Библиотека по-прежнему находится под контролем git внутри меркуриальной; Я надеюсь, что это не вызовет никаких проблем.

0

Может быть, наивный ответ, но почему бы просто не добавить все соответствующие файлы в репозиторий к своему приложению и просто создать его?

Поместите файлы в отдельную папку, чтобы вы могли обновить их до более новой версии, если вам нужно и т. Д. Множество проектов, которые я сделал, имеет «внешнюю» папку, которая содержит только код, который я использую из сторонних источников , Обычно у меня есть источник, поэтому просто скомпилируйте его в свое приложение и не мешайте ему создавать библиотеку.

Или есть сложные ситуации, которые необходимо выполнить для компиляции этого кода?

+0

ну, этот код уже находится в управляемом проекте xcode. если бы я мог поддерживать совместимость с репозиторией git, которая была бы большим плюсом. –

+0

. Вы можете хранить точно такую ​​же структуру папок, что и в своем репозитории (я бы получил это как подмодуль git) - просто добавьте необходимые файлы в группу в ваш проект XCode (не проверяя поле, которое говорит что-то вроде «копировать в эту папку групп», когда вы добавляете их, чтобы они не перемещались). Тогда вы можете просто «git pull» до вашего сердца, чтобы получить последнюю версию. Вы по-прежнему строите источник из своего проекта, и вы получаете выгоду от простых обновлений, и их проект XCode должен иметь модульные тесты, в которых вы можете запускать и т. Д. – deanWombourne

+0

Хорошо, я рассматриваю это. Но не следует ли изменять бинарный тип вывода Xcode? Это всего лишь обходной путь, хотя и функциональный –

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