В большинстве случаев это делается automagically для вас.
Э.Г. когда вы используете тип от MonoTouch.CoreGraphics
, например CGColor
, тогда инструмент добавит ссылку на фреймворк CoreGraphics
. Никаких дальнейших действий не требуется от вас.
Единственный раз, когда вам нужно вручную определять фреймворки - это когда вы связываетесь с родной библиотекой, которая имеет зависимости от некоторых фреймворков (-ей), которые может иметь ваше приложение.
В общем случае, когда вы создаете привязки к библиотеке Objective-C, вы добавляете такие требования в атрибут [LinkWith]
. Например.
[assembly: LinkWith ("libX.a", LinkTarget.Simulator, Frameworks="CoreGraphics")]
Вы можете добавить несколько фреймворков, разделив их пробелом.
Вы также можете использовать Дополнительные аргументы mtouch (из ваших опций проекта), чтобы указать параметры родного компоновщика, если вы не используете проект привязки, например.
-gcc_flags="-framework CoreGraphics"
Hi poupou, thankyou для комментария. Это полезно! – xiaowoo
У меня есть еще один вопрос. Если мой проект зависит от xyz.framework (сторонней библиотеки), и для этого xyz.framework необходимо запустить CoreGraphics.framework, как связать эту xyz.framework с моим проектом Xamarin. Согласно документации, я думаю, она сказала, что мне нужно создать какой-то файл xyz.a из xyz.framework. А потом соедините его. Я немного запутался здесь, что это за файл xyz.a? Зачем мне нужно связывать файл xyz.a вместо файла xyz.framework. еще раз спасибо. – xiaowoo
'.a' - это статическая библиотека, которая будет связана с вашим приложением (поскольку динамические библиотеки третьих сторон в iOS не допускаются). Структура будет содержать его. Посмотрите на этот ответ http://stackoverflow.com/q/10586342/220643 и ссылки на него, чтобы узнать больше о привязке фреймворков. – poupou