2013-07-05 2 views
4

В iOS вы можете добавить фреймворки, когда идете в "Your Project" =>"Targets" => "Build Phases", а затем нажмите кнопку добавления, чтобы добавить фреймворки.Как вы добавляете рамки ios в свой проект C# Xamarin iOS?

Итак, скажем, я хотел добавить CoreVideo framework, каркас CoreMedia и CoreGraphics.framework. Как добавить эти рамки в мой проект Xamarin iOS?

Я новичок в Xamarin iOS. спасибо за чтение, я ценю любые комментарии или предложения.

ответ

7

В большинстве случаев это делается automagically для вас.

Э.Г. когда вы используете тип от MonoTouch.CoreGraphics, например CGColor, тогда инструмент добавит ссылку на фреймворк CoreGraphics. Никаких дальнейших действий не требуется от вас.

Единственный раз, когда вам нужно вручную определять фреймворки - это когда вы связываетесь с родной библиотекой, которая имеет зависимости от некоторых фреймворков (-ей), которые может иметь ваше приложение.

В общем случае, когда вы создаете привязки к библиотеке Objective-C, вы добавляете такие требования в атрибут [LinkWith]. Например.

[assembly: LinkWith ("libX.a", LinkTarget.Simulator, Frameworks="CoreGraphics")] 

Вы можете добавить несколько фреймворков, разделив их пробелом.

Вы также можете использовать Дополнительные аргументы mtouch (из ваших опций проекта), чтобы указать параметры родного компоновщика, если вы не используете проект привязки, например.

-gcc_flags="-framework CoreGraphics" 
+0

Hi poupou, thankyou для комментария. Это полезно! – xiaowoo

+0

У меня есть еще один вопрос. Если мой проект зависит от xyz.framework (сторонней библиотеки), и для этого xyz.framework необходимо запустить CoreGraphics.framework, как связать эту xyz.framework с моим проектом Xamarin. Согласно документации, я думаю, она сказала, что мне нужно создать какой-то файл xyz.a из xyz.framework. А потом соедините его. Я немного запутался здесь, что это за файл xyz.a? Зачем мне нужно связывать файл xyz.a вместо файла xyz.framework. еще раз спасибо. – xiaowoo

+1

'.a' - это статическая библиотека, которая будет связана с вашим приложением (поскольку динамические библиотеки третьих сторон в iOS не допускаются). Структура будет содержать его. Посмотрите на этот ответ http://stackoverflow.com/q/10586342/220643 и ссылки на него, чтобы узнать больше о привязке фреймворков. – poupou

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