如何在模块化 Swift 框架中使用 libproc.h?

How do I use libproc.h in a modular Swift framework?

我已经按照 other questions 中的所有步骤进行操作,但我仍然卡住了。

我需要使用 the function proc_pidpath in libproc.h 通过 PID 获取 BSD 进程的路径。但是,libproc.h 不是模块化的 header,所以我不能将它包含在我的保护伞中 header:

很公平;现在我尝试将它包含在我的模块映射中:

framework module My_Modular_Framework {
    umbrella header "My_Modular_Framework.h"

    private header "/usr/include/libproc.h"

    export *
    module * { export * }
}

好吧,现在我得到这个 error-vomit,它似乎认为许多系统 modules/headers 在我的项目中:

我不知道还能做什么。就像我说的,我已经尝试按照 other questions 的所有步骤进行操作,但没有成功。 这里可以做什么?如何使用 proc_pidpath?是否有另一种更 Swift-in-modular-framework 友好的方式从进程 ID 获取路径?

我不想启用 "Allow Non-modular Includes In Framework Modules",因为这违背了模块化框架的目的。

libproc.h and libproc.c are open-source (APSL 2.0) as a part of Apple's Darwin 项目以来,您可以将它们(当然,根据许可条款)包含在您的项目中。由于两者都没有导入任何非模块化头文件,您可以自己编译它,编译器不会报错!