美文网首页
swift framework工程下调用Objective-C或

swift framework工程下调用Objective-C或

作者: RunningDu | 来源:发表于2017-05-05 18:33 被阅读151次

描述:
在用swift重写OC类库时,需要对数据进行压缩上传数据,需要使用类库#include <zlib.h>,但Swift中并没有提供类似的函数,因此需要借助modulemap方式引入供swift类使用。

解决方案:

  1. 创建framework使用swift开发语言


    Paste_Image.png
  2. 目前使用的是Gzip压缩类库,下载并将Data+Gzip.swift导入工程。
  3. 导入libz.tbd类库


    Paste_Image.png
  4. 创建一个目录,用来存放module.map信息,如下图所示:
    目录类型为:


    Paste_Image.png
    Paste_Image.png
  5. include.h文件中内容如下:
#include <zlib.h>  //  此文件为gzip所使用的C类库。如果有其他文件可依次导入

module.modulemap中内容如下:

module zlib [system] {
    header "include.h"  // 此文件为导入头文件的文件名称,此例子中为zlib目录下的include.h文件
    export *
}
  1. 添加类库文件路径
    Build Setting->Swift Compiler – Search Paths下的Import Paths下添加$(SRCROOT)/TestFramework/zlib,类型为non-recursive,即module.map的目录


    Paste_Image.png

OK,完成后,能编译成功代表没有问题。

代码参考:
https://github.com/ShaochongDu/SwiftFramework

Swift构建通用版本Framework以及Framework的使用及其注意事项

相关文章

网友评论

      本文标题:swift framework工程下调用Objective-C或

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