【问题标题】:Renaming umbrella header重命名伞头
【发布时间】:2015-08-22 06:31:26
【问题描述】:

我与 Umbrella 标题有命名冲突。我的框架名称是“SecureData”,但我想在这个框架中有一个名为“SecureData”的objective-c 类。

问题是伞头必须称为“SecureData.h”,我不知道如何在 xcode 设置中为伞头指定不同的名称。这可能吗,还是我只需要想出一个不同的名字?

【问题讨论】:

    标签: ios xcode macos


    【解决方案1】:

    这是可能的。

    您可以通过Module Map File 为伞形标题指定不同的名称。

    1. 为项目创建新的模块映射文件。

      framework module XXXProject {
         umbrella header "XXNewumbrellaName.h"
      
         export *
         module * { export * }
      }
      
    2. 指定模块映射文件:Build Settings -> Packaging -> Module Map File

    好的,达到你预期的效果了。

    希望对你有帮助。

    【讨论】:

    • 注:名称module.modulemap推荐:clang.llvm.org/docs/Modules.html#module-maps
    • @Cœur 这是推荐的,但显然也会阻止您的代码编译:( twitter.com/charlesismcom/status/846615073737007104
    • @Cœur Xcode 8.3 发行说明:“当构建在定义相同模块的源目录和安装目录中都有模块映射的框架时,编译器将显示重新定义消息。(28638816) 解决方法:将源目录中的模块映射文件重命名为非默认名称(默认名称为module.modulemap或module.map),并将Module Map File构建设置设置为重命名的模块映射。"
    • 哦,哈哈。所以在推荐了多年之后,他们只是为任何遵循推荐的人打破了它? openradar.me/30194818
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-11
    • 2019-08-13
    • 2016-01-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多