美文网首页
xcode创建跨iOS和macOS的library

xcode创建跨iOS和macOS的library

作者: 柠檬信息技术有限公司 | 来源:发表于2018-03-13 13:57 被阅读32次

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

  • 选择Build Active Architecture OnlyYes
  • Supported Platforms添加上macos iphonesimulator iphoneos三项
  • Valid Architectures添加上armv7 armv7s arm64 i386 x86_64五项
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即可。

相关文章

网友评论

      本文标题:xcode创建跨iOS和macOS的library

      本文链接:https://www.haomeiwen.com/subject/fplzfftx.html