• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Xcode(9.x) Swift静态库

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

参考: Swift构建通用版本Framework以及Framework的使用及其注意事项

从GitHub下载Alamofire, 然后打开Alamofire.xcodeproj, 于是启动了Xcode.

1.顶部的Scheme切换到Alamofire iOS


2.中间的TARGETS选中Alamofire iOS, 切换到Build Settings, 搜索Mach-O Type, 将值切换为Static Library


3.菜单栏Product → Scheme → Edit Scheme, 选中Run, 选中Info, 将Build Configuration改成Release


4.顶部的Target切换到iPhoneSE(任意模拟器), 然后编译项目(cmd+b)


5.从左边的Products中, 右键Alamofire.framework, 选择Show in Finder, 可以定位到静态库的目录. 返回上级目录(cmd+↑), 会发现文件夹名是Release-iphonesimulator, 并且在附近有很多类似文件夹


6.顶部的Target切换到Generic iOS Device(或者真机), 然后编译项目, 会在Release-iphoneos生成类似文件

7.打开终端, 使用cd命令, 定位到这个目录, 执行lipo -info命令, 检查Alamofire, 会发现两个文件分别是"i386 x86_64"和"armv7 arm64"

8.执行lipo -create命令, 将两文件合并为一个, 直接输出到当前目录, 检查新的Alamofire, 会发现它是"i386 x86_64 armv7 arm64"


9.拷贝Release-iphoneos目录, 并命名为Release. 将新生成的Alamofire替换进去. 将Release-iphonesimulator中Alamofire.swiftmodule目录下的文件, 拷贝到Release中的Alamofire.swiftmodule目录下.

0.Release目录下的Alamofire.framework就是我需要的静态库了


另外, 如果不进行步骤3, Build Configuration将是Debug. 最终对应生成的文件将会在Debug-iphonesimulator和Debug-iphoneos中, 并且Debug-iphoneos中的Alamofire只有x86_64, 如果需要i386, 需要在Build Settings中搜索Build Active Architecture Only, 将Debug的值设置为NO


在我的项目中SwiftlyJSON是使用的源码, 我将Alamofire同样以源码的方式引入项目后, 发现部分方法重复定义了. 并且在调用Alamofire的request等方法时, 是直接request调用, 而不是Alamofire.request这种形式, 于是决定打包一个Alamofire静态库出来


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
如何在 Swift 中进行错误处理发布时间:2022-07-14
下一篇:
基于Swift的简易iOS天气APP发布时间:2022-07-14
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap