7

目前我正在尝试优化我的模块图。问题是我无法将我的框架添加到我的项目中,因为我在我的 swift 框架中使用了 obj-c 框架。我在我的模块映射中添加了 Obc-c 标头并使模块工作,并且可以成功地将我的框架添加到我的项目中。问题是我不能让它与我的标题的真实路径一起工作。并且使用绝对路径只是一种临时解决方案,对同事不友好。

不是我必须设置这种绝对路径:

header "/Users/me/Documents/framework_project/Folder/OBJC_LIB.framework/Headers/someHeader.h"

我在我的框架项目中添加了这个模块映射作为私有模块映射。我的这项工作有什么选择吗?

header "./Folder/OBJC_LIB.framework/Headers/someHeader.h"

提前致谢。

4

2 回答 2

0

遇到同样的问题,我终于发现Swift框架HEADER_SEARCH_PATH的必须包含ObjC框架的伞头的路径。

于 2020-05-06T15:25:43.753 回答
0

首先,您需要明确您的模块映射文件的位置。可能它会在 DerivedData 文件夹中(要查看此文件夹Xcode -> Preferences -> Locations在 Xcode 10 中的位置),路径将类似于/Users/me/Library/Developer/Xcode/DerivedData. 在这种情况下,您会在此文件夹中找到 modulemap 文件,完整路径将类似于 /Users/me/Library/Developer/Xcode/DerivedData/framework_project_something/Build/Products/Debug-iphonesimulator/framework_project/framework_project.framework/Modules/module.modulemap. 一旦你找到这个文件,你就可以在你的 modulemap 文件中使用这样的声明:

header "../../../../../../../../../../../Documents/framework_project/Folder/OBJC_LIB.framework/Headers/someHeader.h"

我知道这并不完全是您想要的,但也许它会帮助您在这个问题上找到更好的答案。

于 2018-09-06T07:08:41.047 回答