alibaba / GaiaX

动态模板引擎是一套轻量化、跨平台、高性能的纯原生移动端卡片渲染动态化解决方案
https://youku-gaiax.github.io/
Apache License 2.0
1.2k stars 142 forks source link

iOS Swift 工程通过 Cocoapods 引入 GaiaX 报错 #465

Open LoveLiii opened 9 months ago

LoveLiii commented 9 months ago

描述这个问题

请清晰和简明的描述这个问题。

我的项目使用的 Swift 语言,通过 Cocoapods 去引入第三方 OC 框架,podfile 必须用 use_frameworks! 才行,这样就会导致一个问题,通过 pod GaiaXiOS 把 GaiaX 接入到工程中来,GaiaXiOS 里面的 C++ 相关的 .h 文件会暴露出来,但 Xcode 会默认把 .h 当做 OC 的头文件而非 OC++ 的头文件,就会出 xxx not found 的问题。

我只能把 GaiaXiOS Demo 源码下载下来改动其中的 podspec 文件,只需要加入一行配置即可, screenshot-20231211-115755 我希望你们后面能发个版本解决一下这个问题,我就不需要下载 GaiaXiOS Demo 到本地来处理了。

dishcool commented 8 months ago

加了这行,iOS demo工程跑不了,需要注释后 才能正常编译

LoveLiii commented 8 months ago

加了这行,iOS demo工程跑不了,需要注释后 才能正常编译

我在我项目中把 GaiaXiOS 作为子模块引入到我的项目中是能正常编译的,可能是你们的 Demo 中某个类要去引用 Expression 文件夹下某个类,我建议你们单独把 c++ 相关的头文件放在同一个文件夹下,然后这个文件夹内的头文件设置成私有文文件(private_header_files),主工程不要 import 这个文件夹下的头文件就可以了