Как создать статическую библиотеку из существующей структуры в iOS?
Мне предоставлена инфраструктура сторонним поставщиком аппаратного аксессуара iPhone. Поэтому у меня есть папка, такая как Device.framework. Внутри этой папки есть двоичный файл и набор файлов .h. Существуют инструкции, как добавить это в проект iOS и использовать классы, содержащиеся внутри. Тем не менее, я использую MonoTouch и хочу использовать статическую библиотеку.
Есть ли способ создать статическую библиотеку, которая делает все классы из фреймворка доступными в статической библиотеке? Поэтому в моем проекте MonoTouch я бы связался в статической библиотеке и имел доступ к этой структуре.
Ответы
Ответ 1
A *.framework - это просто пакет, содержащий: статическую библиотеку, заголовки, связанные метаданные. Скопируйте и вставьте .framework и извлеките статический файл *.a и связанные с ним файлы заголовков.
Тогда просто вопрос использования инструмента btouch MonoTouch для связывания статической библиотеки для использования в вашем проекте MonoTouch. Существует отличный пример того, как связать собственную библиотеку с MonoTouch на Github. С руководством по таргетированию симулятора + устройства и с помощью атрибута LinkWith встроить статическую библиотеку в одну *.dll:
Кроме того, ознакомьтесь с справочной документацией btouch здесь:
Ответ 2
Переименуйте этот двоичный файл в Device.a
. Вы можете сделать это, так как фреймворк, который вы упомянули, не сделан Apple, поэтому он должен быть статической библиотекой, а не динамической.
Убедитесь, что ваш проект связывает эту библиотеку (Device.a
).
Включите заголовки в свой проект и укажите их там, где это необходимо.