2017-05-12 43 views
0

我有一個帶有兩個獨立目標的Xcode項目,我們將它們全部TargetA和TargetB(具有不同的包ID等)。他們都需要引用一個我們稱之爲SharedCode的嵌入式框架。該代碼必須位於嵌入式框架中,因爲在TargetA中,它在該目標和擴展之間共享。但是我需要使TargetC和TargetB之間的SharedCode略有不同,所以我想設置一個名爲FEATURE_1的活動編譯條件標誌,但僅限於TargetA。似乎Active編譯條件標誌不是可傳遞的 - 我無法爲TargetA設置FEATURE_1標誌,但不能設置TargetB。有沒有另外一種方法來完成這個?我想重複我的嵌入式框架並設置不同的標誌 - 但我不能有兩個具有相同名稱的目標,並且當我嘗試導入框架時更改名稱會導致惡夢。共享嵌入式框架中的條件編譯代碼

回答

0

我能夠通過複製SharedCode嵌入式框架目標,創建SharedCodeA和SharedCodeB目標來解決此問題。然後,我轉到Build Settings並將產品名稱替換爲SharedCode(以便它不再是$(TARGET_NAME)),用於每個SharedCodeA和SharedCodeB目標。這兩個包的ID仍然是「com.mycompany.SharedCode」。這使我能夠繼續在TargetA和TargetB應用程序中使用「導入SharedCode」。