"Include of non-modular header inside framework module" 在 SSZipArchive 的 C header 中
"Include of non-modular header inside framework module" in C header of SSZipArchive
我正在尝试在我的 Swift iOS 项目中使用 SSZipArchive objc 库。
我做了什么:
- 创建了 Objective-C "Cocoa Touch Framework"
- 按照 this guide 将 SSZipArchive 的 objective C 和 C 文件导入其中。
- 根据 this answer
将所有 C header 更改为 public
- 更改构建设置以允许 non-modular 根据 this answer
包含
框架编译正常。我以前使用这种方式设法在 Swift 项目中使用 objective C 库,所以我猜这些步骤是正确的吗?
现在的问题是,当我尝试在我的项目中导入 SSZip 并尝试编译时,它会为 SSZipArchive 的每个 C header 文件提供 "Include of non-modular header inside framework module" 错误,我已经尝试过我可以在网上找到所有可能的解决方案,但都没有成功。似乎问题集中在 zlib.h
请帮忙.. 我被困了一个多星期了,我找不到任何替代方法来解压 swift 中的文件。
我成功了。您需要将导致问题的所有#includes 从其 .h 文件中移出,并将它们放入其 .c 文件中。之后清理并重新编译,错误消失,一切正常。
我找到了另一种解决方案,如何在 headers 文件中保留 zlib.h 导入并成功构建框架。
从官网下载zlib源码:http://www.zlib.net/ I have used the link: http://zlib.net/zlib-1.2.8.tar.gz
解压缩。
然后将 zlib.h 和 zconf.h headers 添加到您的框架项目中,并链接 libz.tbd。
然后设置你的 zlib.h 和 zconf.h headers public (TARGETS settings -> Build Phases -> Headers)
构建项目。一切都应该没问题。
之后我的框架运行良好,并成功解压缩了我的 iOS 应用程序中的文件。
我正在尝试在我的 Swift iOS 项目中使用 SSZipArchive objc 库。
我做了什么:
- 创建了 Objective-C "Cocoa Touch Framework"
- 按照 this guide 将 SSZipArchive 的 objective C 和 C 文件导入其中。
- 根据 this answer 将所有 C header 更改为 public
- 更改构建设置以允许 non-modular 根据 this answer 包含
框架编译正常。我以前使用这种方式设法在 Swift 项目中使用 objective C 库,所以我猜这些步骤是正确的吗?
现在的问题是,当我尝试在我的项目中导入 SSZip 并尝试编译时,它会为 SSZipArchive 的每个 C header 文件提供 "Include of non-modular header inside framework module" 错误,我已经尝试过我可以在网上找到所有可能的解决方案,但都没有成功。似乎问题集中在 zlib.h
请帮忙.. 我被困了一个多星期了,我找不到任何替代方法来解压 swift 中的文件。
我成功了。您需要将导致问题的所有#includes 从其 .h 文件中移出,并将它们放入其 .c 文件中。之后清理并重新编译,错误消失,一切正常。
我找到了另一种解决方案,如何在 headers 文件中保留 zlib.h 导入并成功构建框架。
从官网下载zlib源码:http://www.zlib.net/ I have used the link: http://zlib.net/zlib-1.2.8.tar.gz
解压缩。
然后将 zlib.h 和 zconf.h headers 添加到您的框架项目中,并链接 libz.tbd。
然后设置你的 zlib.h 和 zconf.h headers public (TARGETS settings -> Build Phases -> Headers)
构建项目。一切都应该没问题。
之后我的框架运行良好,并成功解压缩了我的 iOS 应用程序中的文件。