xcode创建跨iOS和macOS的library

2018-03-13  本文已影响32人  柠檬信息技术有限公司

最近在搞公司的数据通信加密,各个终端与服务器端的通信出了HTTPS通道级别的加密还需要程序级别的报文加密。为了方便,采用静态library的形式发布,最终的libsafencrypt.a文件既可以被macOS引用,也可以被iOS引用,且在iOS上尽可能的兼容模拟器、真机等等。首先确保library没有依赖CocoaTouch,因为一旦依赖macOS将无法引用。然后在资源库的设置里面按照下图进行配置:

XCode配置截图

这样编译出来的.a库就可以被多个平台使用了。

注意:如果你的library引用了其他的.framework文件,在编译时是不会将引用的.framework打入你的.a中的,也就是说你在你的实际项目中需要引用你的.a后同样也要引入你的library使用的.framework。
但是如果你的library引用了其他的.a,那么是没有这种问题的,依赖的.a会直接打包进你的.a中。

补充:如果你的library中存在category,那么在引用library的项目中可能会出现这种错误
XXXXXX unrecognized selector sent to class XXXXXX,这个时候只需要将引用library的项目的Other Link Flag设置成-all_load即可。

上一篇 下一篇

猜你喜欢

热点阅读