I'm helping a consumer of my UnzipKit library, who's having problems linking the framework from his iOS-Swift framework target. UnzipKit uses MiniZip, whose unzip.h
and ioapi.h
headers include zlib.h
. Those include lines are failing with this message:
Include of non-modular header inside framework module UnzipKit.<ioapi or unzip>
I realize that Xcode 7 is now using tbd
libraries instead of dylib
, but I've tried each of the following with each combination of source and target framework, and still get the errors:
- Replacing the
libz.dylib
reference withlibz.tbd
- Removing all framework links with a
-lz
Other Linker Flag - Creating a framework link to
/usr/lib/libz.1.dylib
- Toggled the Allow Non-modular Includes in Framework Modules setting to Yes and No
He posted a sample project on GitHub. To reproduce:
- Checkout the project
Install Carthage if you don't have it already:
brew update brew install carthage
Run
carthage update
in the checkout directory- Open UnzipKitIssue.xcodeproj and build the UsingUnzipKit scheme