2010-04-02 22 views
1

我想執行不同的事情取決於用戶iPhone使用的是什麼。如何檢測多個iphone OS,等於和大於,使用宏?

目前,我有下面的,它說 - 「如果設備是3.1,發佈此消息」

#ifdef __IPHONE_3_1 
    NSLog(@"this device is 3.1"); 
    #endif 

可是,我怎樣才能得到它說 - 「如果設備是3.1 或更高版本,發佈此消息「?

非常感謝。

回答

2
+1

+1。這聽起來像你希望應用程序在低於3.1的版本上工作。預處理器宏不這樣做;看到接受答案的後半部分。 – 2010-04-02 02:18:33

+0

是的,謝謝你們兩位。克里斯你是對的。我想要的宏是錯誤的。 – Jonathan 2010-04-02 02:53:39

0

好吧,這似乎做到了。

#if __IPHONE_OS_VERSION_MAX_REQUIRED >= __IPHONE_3_2 
    NSLog(@"this device less than 3.2"); 
    #endif 

我不知道爲什麼,但因爲對我來說,它讀取 - 「如果OS版本是大於或等於3.2」
但是,它返回 - 「如果iPhone OS低於3.2 「

任何人都可以解釋這實際上是什麼意思?

+0

那麼__IPHONE_OS_VERSION_MAX_REQUIRED對我來說似乎很奇怪;也許你應該使用__IPHONE_OS_VERSION_MIN_REQUIRED來代替。 – 2010-04-02 02:10:54

相關問題