[IOS] TARGET _ IPHONE _ SIMULATOR 使用

TARGET _ IPHONE _ SIMULATOR 使用

最近使用 APNs,取得 Device Token 後做了一段驗證,檢查是否取得了 Device Token,但在模擬器上是取不到這 Device Token,因此在模擬器上會跳過這段驗證。

但是在使用上邏輯搞不太定,雖然不影響使用。

#if TARGET_IPHONE_SIMULATOR
    // xxx
#else
    // ooo
#endif

if else的使用我想我應該沒理解錯誤吧。

  • 結果為真:進xxx這段
  • 結果為假:進ooo這段

在模擬器上TARGET_IPHONE_SIMULATOR回傳值為1,表示是模擬器,但是在模擬器上會進 // ooo 這段,搞得我好亂啊!!

2017/08/10更新

發現 TARGET _ IPHONE _ SIMULATOR 回傳的數值其實是不穩定的,具體原理不是很懂,不過找到替代方案了。

在 Targets > Build Settings > Other Swift Flags > debug 中

新增一個 Any iOS Simulator

並為其加上 "-D IOS_SIMULATOR" (不需加引號)

使用上如下

#if IOS_SIMULATOR
    // is a simulator
#else
    // not a simulator
#endif
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容