2015-08-22 34 views
9

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

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

回答

15

这是可能的。

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

  1. 为Project创建新的模块图文件。

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

OK,你预期的效果。

我希望这会帮助你。

+1

注意:建议使用名称'module.modulemap':http://clang.llvm.org/docs/Modules.html#module-maps –

+1

@Cœur这是推荐的,但显然也会阻止你的代码编译:(https ://twitter.com/charlesismcom/status/846615073737007104 – Charlesism

+1

@CœurXcode 8.3发行说明:“当构建一个在定义相同模块的源目录和安装目录中都具有模块映射的框架时,编译器将显示一个重定义消息。(28638816) 解决方法:将源目录中的模块映射文件重命名为非默认名称(默认名称为module.modulemap或module.map),并将模块映射文件构建设置设置为重命名的模块映射。 “ – Charlesism