2015-08-22 31 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