TARGET _ IPHONE _ SIMULATOR 使用
最近使用 APNs,取得 Device Token 後做了一段驗證阻逮,檢查是否取得了 Device Token氏仗,但在模擬器上是取不到這 Device Token,因此在模擬器上會跳過這段驗證。
但是在使用上邏輯搞不太定皆尔,雖然不影響使用。
#if TARGET_IPHONE_SIMULATOR
// xxx
#else
// ooo
#endif
if else
的使用我想我應(yīng)該沒理解錯誤吧币励。
- 結(jié)果為真:進(jìn)xxx這段
- 結(jié)果為假:進(jìn)ooo這段
在模擬器上TARGET_IPHONE_SIMULATOR
回傳值為1慷蠕,表示是模擬器
,但是在模擬器上會進(jìn) // ooo 這段食呻,搞得我好亂傲骺弧!仅胞!
2017/08/10更新
發(fā)現(xiàn) TARGET _ IPHONE _ SIMULATOR 回傳的數(shù)值其實是不穩(wěn)定的每辟,具體原理不是很懂,不過找到替代方案了干旧。
在 Targets > Build Settings > Other Swift Flags > debug 中
新增一個 Any iOS Simulator
並為其加上 "-D IOS_SIMULATOR" (不需加引號)
使用上如下
#if IOS_SIMULATOR
// is a simulator
#else
// not a simulator
#endif