2015-04-04 51 views
0

我試過如何知道目標C代碼是否在iOS模擬器中運行?

#ifdef TARGET_IPHONE_SIMULATOR 
    static BOOL isSimulator = YES; 
#endif 

但對於器件和模擬器中,isSimulator變量總是出來爲1

我需要一種方法來找出如果代碼運行的是iOS上的模擬器或一個裝置。

+1

正如你可以看到這個答案http://stackoverflow.com/questions/5775420/programmatically-detect-if-app-is-being-run-on-device-or-simulator你可以檢查運行你的應用程序的位置在運行時(不像編譯時那樣):#define SIM(x)if ...(by Fernando Cervantes)。 – stosha 2015-04-04 01:18:11

回答

2

您的代碼段只檢查是否TARGET_IPHONE_SIMULATOR定義(即使它定義爲0)

嘗試檢查這樣來代替: (在#ERROR只會顯示爲在Xcode編譯錯誤)

#if TARGET_IPHONE_SIMULATOR 
#error Simulator 
#else 
#error Device 
#endif