ios – 在Cocoa Touch Framework中包装静态库

前端之家收集整理的这篇文章主要介绍了ios – 在Cocoa Touch Framework中包装静态库前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个脂肪静态库与2架构切片(armv7,arm64).
我试图让它与 swift一起工作,并将其包装到 Cocoa Touch Framework中.

我做的事:

>创建Cocoa Touch Framework项目
>拖动.a静态库与标题
>将OTHER_LDFLAGS设置为-all_load
>将ONLY_ACTIVE_ARCH设置为NO
>将VALID_ARCHS和ARCHS设置为armv7和arm64
>使用版本构建配置构建
>从DerivedData抓取.framework文件/../../产品/

当我将这个框架放入我的快速项目中时,添加到我的目标常规设置的嵌入式二进制文件部分,导入框架并使用其中一个类,我将获得架构arm64的未定义符号或架构armv7的未定义符号.

编辑:
不知道是否有帮助,但我注意到静态库的大小大约为34MB,而生成的框架的大小大约为12MB.

编辑2:
我在静态库和生成的动态库上运行nm -arch arm64 -g myLibraryName.动态库不包含静态库的所有符号.像XCode构建过程似乎很多.

解决方法

我想你也忘了补充一点:

项目 – >目标 – >构建阶段 – >链接二进制与库:
添加:libz.dylib或libz.tbd
(由于Xcode 7 * .dylib文件现在是* .tbd文件)

确保也清理文件夹:/ User / yourname / Library / Developer / XCode / DerivedData

P.S:如果您希望,还可以通过添加参数-lz在Build Settings中的“Other Linker Flags”中添加libz.tbd.

原文链接:https://www.f2er.com/iOS/329445.html

猜你在找的iOS相关文章