直接看图看步骤吧
新建一个项目,命名为LibrarySDK


此时会自动给你创建一个.h 一个.m文件,在这里写一个测试接口。

对应的.m文件写实现方法

进入工程中的TARGETS

点击+号 选择 New Headers Phase

将刚才写了测试接口的.h文件拖入public中

选择编译环境为模拟器

好了,现在只要command + B编译一下就能在 Products文件中看到一个红色的.a文件

再切换成真机编译一下,.a文件就变黑了


右键.a文件 show in finder就能看到刚刚生成的.a文件,一个在真机目录下,一个在模拟器目录下,不同目录下的.a文件只能在各自的编译环境中使用

这里是刚才导出的头文件

将.a 文件和该头文件拖入工程就能使用了


log打印出来,说明能够使用

刚刚说了,不同环境下编译到的.a 文件只能在各自的环境下使用,如果想要一个通用的.a文件可以通过终端进行合并
在终端直接输入
lipo -create /Users/pjk1129/Library/Developer/Xcode/DerivedData/Print-dgfkluumuexoxhcapzidtsmdgqcj/Build/Products/Release-iphonesimulator/libPrint.a /Users/pjk1129/Library/Developer/Xcode/DerivedData/Print-dgfkluumuexoxhcapzidtsmdgqcj/Build/Products/Release-iphoneos/libPrint.a -output /Users/pjk1129/Desktop/libPrint.a
这里有3个路径,前两个.a的路径是你编译到的两种环境的.a路径,最后一个是你要合并到哪个文件夹下面的路径
网友评论