我目前正在爲iOS設計一款cocos2d遊戲。目前我在運行時檢查它是否是運行ipad或iphone並調整座標et.c.爲了這。Ipad/Iphone版本,2個目標,1個代碼庫
但現在我想要兩個版本,一個用於iPad,一個用於iPod touch/iPhone。所以我想要兩個目標,但仍然使用相同的代碼庫。
目前我檢查
UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad
,以確定是否該設備被使用。但是現在我想檢查使用哪個應用/目標。如果有人在iPad上使用iPhone版本,我不希望它針對iPad進行調整(iPhone版本的成本更低,因此不應該針對iPad進行調整)。
謝謝你的回覆!在適用的情況下很難決定哪個答案標記爲正確。然而,上述答案在當時更爲方便。 – Sunkas 2012-06-29 13:58:36
我現在正在製作一款新應用,一款適用於iPad和iPhone的通用應用,帶有兩個目標,一個完整版本和一個免費版本。在你的答案中,你說「在一個目標中忽略它」。如果我在這個文件中定義了一個常量(kIsFullVersion = YES),那麼將它包含在fullVersion中,不會在免費版本中出現編譯錯誤?一個解決方案是有兩個文件,但他們需要具有相同的文件名:S – Sunkas 2012-06-29 14:02:36
您可以在代碼中使用#ifdef塊來檢查符號是否已定義,以便您不僅不會獲得一個編譯錯誤,但你可以根據它是否在目標中定義來改變代碼中的邏輯! – Clafou 2012-06-29 14:39:44