如何将iOS框架添加到C# Xamarin iOS项目中?

6
在iOS中,您可以在“您的项目”=>“目标”=>“构建阶段”中添加框架,然后按下添加按钮以添加框架。
假设我想要添加CoreVideo框架、CoreMedia框架和CoreGraphics.framework。如何将这些框架添加到我的Xamarin iOS项目中?
我是Xamarin iOS的新手。谢谢您的阅读,我感谢任何评论或建议。
1个回答

9
在大多数情况下,这是自动完成的。例如,当您使用来自MonoTouch.CoreGraphics的类型(例如CGColor)时,工具将添加对CoreGraphics框架的引用,您不需要采取进一步的操作。
唯一需要手动指定框架的时间是当您链接到具有依赖于应用程序本身可能没有的某些框架的本地库时。
通常,在创建Objective-C库的绑定时,您会在[LinkWith]属性中添加此类要求。例如:
[assembly: LinkWith ("libX.a", LinkTarget.Simulator, Frameworks="CoreGraphics")]

您可以通过用空格分隔它们来添加多个框架。

如果您不使用绑定项目,您还可以使用附加mtouch参数(来自您的项目选项)指定选项给本机链接器,例如。

-gcc_flags="-framework CoreGraphics"

我还有一个问题。如果我的项目依赖于xyz.framework(第三方库),而这个xyz.framework需要CoreGraphics.framework才能运行,那么我该如何将这个xyz.framework链接到我的Xamarin项目中。根据文档,我认为我需要从xyz.framework生成某种xyz.a文件,然后进行链接。但是我有点困惑,这个xyz.a文件到底是什么?为什么我需要链接xyz.a文件而不是xyz.framework文件。再次感谢。 - xiaowoo
1
.a文件是静态库,将与您的应用程序链接(因为iOS不允许第三方动态库)。框架将包含它。查看此答案https://dev59.com/a2kv5IYBdhLWcg3wdQhT以及其中的链接,了解有关绑定框架的更多信息。 - poupou

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接