xcode生成静态库.a

一、生成静态库

1.打开 Xcode 创建一个新的 Static Library 工程,取名applestudio
2.创建工程完毕后,简化目录结构

删除系统自动创建的同名类:applestudio.h和applestudio.m

把自己的代码复制进去,如例子:guiconnect.h 和 guiconnect.m

3.设置适配所有模拟器架构:

project -> buildSeting -> Build Active Architecture Only 设为 NO

4.提供的静态库为release版本的:

Edit Scheme->Run->Release/Debug分别进行编译

5.Command + B 运行工程进行编译打包,发现没有生成.a文件

解决:

设置生成路径:

项目 - TARGETS - 点击+号 - Add User-Defined Setting;

添加 CONFIGURATION_BUILD_DIR 然后在Value中设置好想要导出的路径地址;

如下:

6.重新Command + B 运行工程进行编译打包完成后,设置的路径下生成了.a文件和include文件夹

二、对静态库的使用

1.创建一个iOS项目,把生成的.a文件和include文件夹拖拽到项目根目录下,拖拽之前先把路径简化下,include文件夹下放.h文件和.a文件,如:

其中:.h的路径可以在编译前设置:

注:拖拽时勾选上如下:

2. 验证代码:
3.静态库程序调试:

创建一个iOS项目,然后点击加号创建一个静态库

还可以打断点调试

三、对生成的.a库cpu架构的验证和合成

1.终端查看静态库所支持的架构:终端 -> cd 进入库文件路径 -> lipo -info 库名

可以看到静态库只支持 arm64 x86_64

2.如果要同时支持模拟器和真机,请使用命令合成 .a 静态库:

lipo -create [name1.a 所在路径] [name2.a 所在路径] -output [newname.a]

参考:https://blog.51cto.com/u_16099252/7150796

相关推荐
humiaor18 小时前
Xcode报错:No exact matches in reference to static method ‘buildExpression‘
swiftui·xcode
归辞...21 小时前
「iOS」viewController的生命周期
ios·cocoa·xcode
crasowas1 天前
Flutter问题记录 - 适配Xcode 16和iOS 18
flutter·ios·xcode
蒙娜丽宁2 天前
Go语言错误处理详解
ios·golang·go·xcode·go1.19
Johnny Tong3 天前
iOS 18 适配 Xcode 16 问题
ios·cocoa·xcode
键盘敲没电5 天前
【iOS】UIViewController的生命周期
学习·ios·objective-c·xcode
安和昂7 天前
【iOS】UIViewController的生命周期
ios·xcode·swift
Python私教7 天前
Go语言现代Web开发03 关键字和包以及基本数据类型
开发语言·golang·xcode
2401_863671357 天前
Go-ecc加密解密详解与代码_ecdsa
ios·golang·xcode
键盘敲没电8 天前
【iOS】MVC模式
ios·mvc·objective-c·xcode