Ответ 1
Вы можете использовать файлы .framework
так же, как файлы .a
. Например. все привязки, предоставляемые MonoTouch (в monotouch.dll), сделаны из файлов .framework
.
Я загрузил TouchDB, "легкий механизм баз данных Apache CouchDB, подходящий для внедрения в мобильные или настольные приложения", что дает мне кучу папок .framework
(CouchCocoa.framework, TouchDB.framework и TouchDBListener.framework).
Я читал статью о привязке библиотек Obj-C к MonoTouch, она показывает как связать .a
, но не как связать .framework
.
Как создать привязку для этих .framework
? или я должен каким-то образом сделать .a
этих .framework
перед их использованием (если это возможно)?
- EDIT -
related: https://bitbucket.org/LouisBoux/touchdb-monotouchbinding
Вы можете использовать файлы .framework
так же, как файлы .a
. Например. все привязки, предоставляемые MonoTouch (в monotouch.dll), сделаны из файлов .framework
.
Привязать .framework в MonoTouch выполняет несколько шагов. framework - это каталог, в котором обычно хранятся все части библиотечного пакета (например, файлы заголовков, ресурсы и файл библиотеки). Ниже приведены общие шаги, необходимые для привязки .framework.
Создайте проект привязок, например, для обычного файла библиотеки (libXXX.a)
эквивалент библиотеки в .framework - это файл без расширения, который находится в корне каталога .framework, например, я недавно написал привязки для RDPDFKit.framework, файлом верхнего уровня был файл с именем RDPDFKit (без расширения), переименуйте это в "libRDPDFKit.a" и скопируйте в проект привязки и добавьте его в проект. Он создаст код за файлом с поддерживаемыми платформами (например, x86, arm6 и т.д.). Вся документация для этого находится на веб-сайте Xamarin.
Определите привязки, как для обычной библиотеки.
Если в фреймворке есть .bundle, скопируйте его в проект программы (а не проект привязки), его нужно будет добавить в качестве ресурсов для программы. Добавьте этот каталог в проект и все элементы под ним, потому что ресурсы в monotouch не поддерживаются в DLL.
В результате DLL файл с привязкой к monotouch будет содержать весь файл .a для последующей компоновки, поэтому вам не понадобится файл .a после создания .dll.