描述:
在用swift重寫OC類庫(kù)時(shí)健霹,需要對(duì)數(shù)據(jù)進(jìn)行壓縮上傳數(shù)據(jù)软棺,需要使用類庫(kù)#include <zlib.h>
,但Swift中并沒(méi)有提供類似的函數(shù)莱褒,因此需要借助modulemap方式引入供swift類使用。
解決方案:
-
創(chuàng)建framework使用swift開(kāi)發(fā)語(yǔ)言
Paste_Image.png - 目前使用的是Gzip壓縮類庫(kù)荒叼,下載并將
Data+Gzip.swift
導(dǎo)入工程轿偎。 -
導(dǎo)入libz.tbd類庫(kù)
Paste_Image.png -
創(chuàng)建一個(gè)目錄,用來(lái)存放module.map信息被廓,如下圖所示:
目錄類型為:
Paste_Image.png
Paste_Image.png - include.h文件中內(nèi)容如下:
#include <zlib.h> // 此文件為gzip所使用的C類庫(kù)坏晦。如果有其他文件可依次導(dǎo)入
module.modulemap中內(nèi)容如下:
module zlib [system] {
header "include.h" // 此文件為導(dǎo)入頭文件的文件名稱,此例子中為zlib目錄下的include.h文件
export *
}
-
添加類庫(kù)文件路徑
Build Setting->Swift Compiler – Search Paths下的Import Paths下添加$(SRCROOT)/TestFramework/zlib嫁乘,類型為non-recursive昆婿,即module.map的目錄
Paste_Image.png
OK,完成后亦渗,能編譯成功代表沒(méi)有問(wèn)題。