我想執行不同的事情取決於用戶iPhone使用的是什麼。如何檢測多個iphone OS,等於和大於,使用宏?
目前,我有下面的,它說 - 「如果設備是3.1,發佈此消息」
#ifdef __IPHONE_3_1
NSLog(@"this device is 3.1");
#endif
可是,我怎樣才能得到它說 - 「如果設備是3.1 或更高版本,發佈此消息「?
非常感謝。
我想執行不同的事情取決於用戶iPhone使用的是什麼。如何檢測多個iphone OS,等於和大於,使用宏?
目前,我有下面的,它說 - 「如果設備是3.1,發佈此消息」
#ifdef __IPHONE_3_1
NSLog(@"this device is 3.1");
#endif
可是,我怎樣才能得到它說 - 「如果設備是3.1 或更高版本,發佈此消息「?
非常感謝。
好吧,這似乎做到了。
#if __IPHONE_OS_VERSION_MAX_REQUIRED >= __IPHONE_3_2
NSLog(@"this device less than 3.2");
#endif
我不知道爲什麼,但因爲對我來說,它讀取 - 「如果OS版本是大於或等於3.2」
但是,它返回 - 「如果iPhone OS低於3.2 「
任何人都可以解釋這實際上是什麼意思?
那麼__IPHONE_OS_VERSION_MAX_REQUIRED對我來說似乎很奇怪;也許你應該使用__IPHONE_OS_VERSION_MIN_REQUIRED來代替。 – 2010-04-02 02:10:54
+1。這聽起來像你希望應用程序在低於3.1的版本上工作。預處理器宏不這樣做;看到接受答案的後半部分。 – 2010-04-02 02:18:33
是的,謝謝你們兩位。克里斯你是對的。我想要的宏是錯誤的。 – Jonathan 2010-04-02 02:53:39