Ответ 1
Я портировал несколько библиотек с открытым исходным кодом на iOS (см. порты iOS). Я нашел самый надежный способ для переноса библиотеки - создать новый проект Xcode с целью сборки для статической библиотеки iOS. Важно отметить, что Apple не позволит вашему приложению iOS содержать динамические библиотеки, если вы планируете распространять свое приложение в магазине iTunes App, поэтому вам не удастся использовать библиотеки FAT.
Это шаги, которые я обычно выполняю при переносе библиотек в iOS, которые обычно создаются с помощью GNU Autotools:
- Запустите. /configure с соответствующими флагами в OS X.
- Убедитесь, что библиотека правильно построена на OS X с помощью make.
- Создайте новый проект Xcode с использованием шаблона статической библиотеки iOS.
- Добавьте config.h из предыдущего запуска configure в проект Xcode.
- Прочитайте файл automake (Makefile.am) и добавьте ссылающиеся источники в целевые объекты automaker к цели Xcode для статической библиотеки.
- Скопируйте флаги CPP (т.е. -DHAVE_CONFIG_H) из файла automake в настройки сборки в Xcode.
- Компилировать в Xcode и запускать запущенные ошибки (обычно путем добавления отсутствующих заголовков включают пути или отсутствующие исходные файлы).
Обычно я использую структуру каталогов:
project/
project/ported-project.xcodeproj
project/project-x.x.x.tar.gz
project/project-x.x.x
project/project -> project-x.x.x
Я знаю, что это не совсем то, о чем вы просили в своем вопросе, однако это грубые очертания шагов, которые я использовал в течение многих лет для переноса библиотек. Преимущество создания реального Xcode для компиляции портированной библиотеки заключается в том, что он упрощает интеграцию библиотеки в несколько приложений iOS Xcode.
Если вам нужны разъяснения или более подробные инструкции, дайте мне знать, и я попробую написать более подробные инструкции и обновить свой ответ.