想给自己写的方法打一个静态.a包,但是在网上看了那么多得教程也没有解决自己的问题,经过自己的多次测试,终于解决了自己的问题,在这里我把我的打包过程分享给大家,希望大家少走弯路,同时也希望大家多多支持我.废话不多说,开始了.
大家都知道,我们打.a包的目的是为了保护我们.m里面的源码(一些sdk等或是出于安全原因)
下面我将分步骤给大家分享:
1.第一步,新建一个Cocoa Touch Static Library项目(ios>Framework&library里面);
2.我们创建的这个项目就是为了打.a包而存在的.我们把要实现的.h和.m都添加至项目中来.
3.我们在TARGETS的Build Phases的左上角的"+"号按钮添加我们的New Headers Phases,
然后我们选择我们要公开的.h文件至Public(可直接拖动)
3.开始打包.这里我们要打出分别对应模拟器和真机的.a包,最后通过终端合成一个.a包,此.a包能够在模拟器和真机上使用.
在这里我要说明一下:
设备依赖的是arm
模拟器依赖的是i386 x86_64
要打出在真机上运行的.a包,需要在设备栏选中ios device
支持模拟器的.a包需要选中模拟器(任意)
选择然后com+b,接着我们在项目最底下的文件夹products中查看,我们的.a文件变成黑色(已经生成),我们show in finder ,就会看见
debug-iphones文件夹中存在的.a包.
下面我们接着来打模拟器包,选择任意模拟器,如上图,然后com + b,这个时候我们在products文件夹里面看见的.a文件是红色的(但此时对应的.a文件其实已经生成了,
在资源库的developer>xcode>DerivedData>项目名>Build>Products
在products文件中能够看到debug-iphones和debug-iphonesimulator两个文件夹中的.a包
)4.合并.a包
将/Users/管理员/Desktop/项目名/Build/Products/Debug-iphoneos/lib.a /Users/管理员/Desktop/项目名/Build/Products/Debug-iphonesimulator/lib.a 替换成你的路径。
将/Users/管理员/Desktop/lib2.a替换成合并后的路径。
lib2就是我们最终生成的.a包
命令行示例:lipo -create /Users/管理员/Desktop/项目名/Build/Products/Debug-iphoneos/lib.a /Users/管理员/Desktop/项目名/Build/Products/Debug-iphonesimulator/lib.a -output /Users/管理员/Desktop/lib2.a
这样就生成.a包了.
这就是我自己的总结,希望会对大家有所帮助