如何从iOS中的现有框架创建静态库?

Jef*_*lts 15 frameworks static-libraries xamarin.ios ios

我已经为第三方供应商提供了一个用于iPhone硬件配件的框架.所以我有一个像Device.framework这样的文件夹.在该文件夹中是一个二进制文件和一组.h文件.有关如何将其添加到iOS项目并使用其中包含的类的说明.但是,我实际上正在使用MonoTouch并且想要使用静态库.

有没有办法创建一个静态库,使静态库中的框架中的所有类都可用?因此,在我的MonoTouch项目中,我将链接到静态库并可以访问该框架.

Anu*_*nuj 13

A*.framework只是一个包,包含:静态库,标题,关联的元数据.复制并粘贴.framework并提取静态*.a文件和相关的头文件.

然后,只需使用MonoTouch btouch工具绑定静态库以便在MonoTouch项目中使用.有一个很好的例子,说明如何将本机库绑定到Github上的MonoTouch.有关定位模拟器+设备的指导,并使用LinkWith属性将静态库嵌入到单个*.dll中:

另外,请务必查看btouch参考文档:


Til*_*ill 8

将该二进制文件重命名为Device.a.您可以这样做,因为您提到的框架不是由Apple完成的,因此它必须是静态库而不是动态库.

确保您的项目链接该库(Device.a).

在项目中包含标题并在适当的位置引用它们.

  • 我按照你的建议重命名了这个文件并做了'nm filename.a',我确实可以看到那里的所有课程.我需要做进一步的工作来检查它们是否正常挂起但看起来不错.谢谢 (3认同)