I just recently had to add that exact library and file to my project, and after a lot of troubleshooting finally got it working, so let me walk you through the steps!
Okay
1) Go to the top level directory of your project in finder, and create a new folder called Swiftzlib
or whatever you want the name of the module that you will be importing to be. (What we will do is add the zlib library as a module, so think of it as importing Foundation or some such other module). To clarify, this Swiftzlib
directory will end up as a child directory of the same directory that contains your *.xcodeproj
and *.xcworkspace
files.
2) Inside the folder you created, make two files.
- include.h
- module.modulemap
3) In your include.h
file, enter the following:
#include<zlib.h>
4) In your module.modulemap
file, enter the following:
module Swiftzlib [system] {
header "include.h"
export *
}
Where Swiftzlib is the same as the name of the folder that you created.
5) Open your Xcode project, and select your target
- 5a) In Build Phases -> Link Binary with Libraries, add
libz.tbd
- 5b) In Build Settings -> Swift Compiler - Search Paths, add
$(PROJECT_DIR)/Swiftzlib
non-recursively to the import paths
- 5c) In Build Settings -> Other Linker Flags, add
-lz
as a flag
6) Select your project in Xcode (may not be necessary, but I've done it in my project and it works)
- 6a) In Build Settings -> Swift Compiler - Search Paths, add
$(PROJECT_DIR)/Swiftzlib
non-recursively to the import paths
7) In Data+Gzip.swfit
, add import Swiftzlib
to the top of the file
8) Clean, Build, and Run!
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…