2
我有一個應用程序定義了幾個不同的目標。我知道我可以使用預處理器指令爲不同目標提供不同的代碼段,但命名約定是如何工作的?例如,如果我有兩個名爲「Smith」和「Smith Plus」的目標,這些目標是如何轉化的?如何針對XCode for iOS中的不同目標使用不同的代碼?
#if (Smith)
#elif (Smith Plus)
#endif
我有一個應用程序定義了幾個不同的目標。我知道我可以使用預處理器指令爲不同目標提供不同的代碼段,但命名約定是如何工作的?例如,如果我有兩個名爲「Smith」和「Smith Plus」的目標,這些目標是如何轉化的?如何針對XCode for iOS中的不同目標使用不同的代碼?
#if (Smith)
#elif (Smith Plus)
#endif
你基本上是正確的。
在您的項目設置中,當您點擊一個目標時,您將看到一個「構建設置」選項卡。在那裏搜索預處理器宏。對於你的史密斯目標,添加一個預處理宏「SMITH = 1」。對你的史密斯加目標(SMITH_PLUS = 1)做同樣的事情。
然後,在你的代碼,你只需要使用像你自己所示:
#if SMITH
// do something
#elif SMITH_PLUS
// do something else
#endif
以供將來參考,您需要選擇「全部」然後查看「蘋果LLVM編譯器4.1 - 預處理」。 – parsley72
非常感謝! – Jordan