我有一個項目,生成兩個目標的應用程序。iphone - 編譯器條件的標頭
其中一個目標必須包含另一個不應出現在另一個目標上的其他委託協議。所以,我創建了一個Xcode的宏觀和聲明如下標題:
#ifdef TARGET_1
@interface myViewController : UIViewController <UIScrollViewDelegate, UIPopoverControllerDelegate>
#endif
#ifdef TARGET_2
@interface myViewController : UIViewController <UIScrollViewDelegate>
#endif
{ .... bla bla.... }
的問題是,Xcode是恨@interface的這種「雙重」的聲明,並給了我所有的那種錯誤。當我只放一個聲明時,錯誤就會消失。
如何解決?謝謝你的幫助。
是否確定TARGET_1和TARGET_2不會同時爲真? – kennytm 2010-03-21 08:01:19
是的,只是其中一個是真的在一次 – SpaceDog 2010-03-21 08:06:49
我發現了一個奇怪的事情,即使你沒有使用其中一個,你也必須讓所有PREPROCESSOR MACROS(發行版,發行版和調試版)充滿目標名稱。在我的情況下,我沒有使用「發佈」,其預處理器宏字段爲空。 – SpaceDog 2010-03-21 08:13:36