在SSZipArchive的C头中包含“框架模块内的非模块头”
我想在我的Swift iOS项目中使用SSZipArchive objc库。
我做了什么:
- 创build了Objective-C“cocoa触摸框架”
- 遵循本指南将SSZipArchive的目标C和C文件导入到其中。
- 根据这个答案,将所有C标头更改为公共
- 根据此答案更改构build设置以允许非模块化包含
框架编译好。 我会设法使用这种方式在Swift项目中使用目标C库,所以我想这些步骤是正确的?
现在的问题是当我尝试在我的项目中导入SSZip并尝试编译时,它提供了SSZipArchive的每个C头文件中的“包含非模块头在框架模块”错误,我试过所有可能的解决scheme我可以在网上find没有成功。 似乎问题集中在zlib.h上
请帮助..我坚持了一个多星期了,我无法find任何替代品,迅速解压缩文件。
我得到这个工作。 您需要将导致问题的所有#include从.h文件中移出,并将其放入.c文件中。 之后,干净,重新编译和错误消失,一切正常。
我已经find了一个更多的解决scheme,如何离开zlib.h导入头文件,并成功构build框架。
-
从官方网站下载zlib的源代码: http : //www.zlib.net/我已经使用了链接: http : //zlib.net/zlib-1.2.8.tar.gz
-
解压缩。
-
然后将zlib.h和zconf.h头文件添加到您的Framework项目以及libz.tbd链接。
-
然后将你的zlib.h和zconf.h头文件设置为public(TARGETS设置 – > Build Phases – > Headers)
-
build立这个项目。 一切都应该没问题。
之后,我的框架正常工作,并成功地解压缩我的iOS应用程序中的文件。