Xcode更改动态框架产品模块名称

时间:2020-09-25 14:32:52

标签: ios xcode frameworks lldb module-map

我正在尝试更改动态框架的产品模块名称。 我这样做的主要原因是我的框架是为每个客户端定制的,所以我有不同的目标,这些目标具有不同的名称和输出文件,我想保持它们的原样,但是我希望为所有对象导入该框架具有产品名称的目标。 该框架位于目标C中,并由快速的应用程序使用。

在Xcode构建设置中,DefinesModule设置为YES。

假设产品名称为CustomerSDK,我希望将其导入为ProductSDK。 例如:框架文件将为CustomerSDK.framework,导入语句为import ProductSDK

如果我通过调用$(PRODUCT_NAME:c99extidentifier)import CustomerSDK用作模块名称(Xcode中的默认选项),它将起作用,但是当我尝试更改产品模块名称时构建设置中的另一个字段中,主机应用程序项目中Xcode的代码完成没有找到模块名称,即使我写了模块名称,也出现了“无此类模块ProductSDK” 错误。在生成的产品框架内部,我可以看到没有模块映射文件生成。

我也尝试创建一个自定义的module.modulemap文件,在这种情况下,宿主应用程序项目中Xcode的代码完成会提出新名称,但是当我尝试编译时,我仍然得到 ProductSDK” 错误。

framework module ProductSDK {
  umbrella header "CustomerSDK.h"

  export *
  module * { export * }
}

0 个答案:

没有答案