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

ios – 在Cocoa Touch Framework中包装静态库,第1张

概述我有一个脂肪静态库与2架构切片(armv7,arm64). 我试图让它与 swift一起工作,并将其包装到 Cocoa Touch Framework中. 我做的事: >创建Cocoa Touch Framework项目 >拖动.a静态库与标题 >将OTHER_LDFLAGS设置为-all_load >将ONLY_ACTIVE_ARCH设置为NO >将VALID_ARCHS和ARCHS设置为arm 我有一个脂肪静态库与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.

总结

以上是内存溢出为你收集整理的ios – 在Cocoa Touch Framework中包装静态库全部内容,希望文章能够帮你解决ios – 在Cocoa Touch Framework中包装静态库所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1095884.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存