亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

檢測是否正在為Swift中的設備或模擬器構建應用程序

檢測是否正在為Swift中的設備或模擬器構建應用程序

POPMUISE 2019-12-10 13:08:44
在Objective-C中,我們可以知道是否正在使用宏為設備或模擬器構建應用程序:#if TARGET_IPHONE_SIMULATOR    // Simulator#else    // Device#endif這些是編譯時宏,在運行時不可用。如何在Swift中實現相同目標?我搜索了堆棧溢出,查看了文檔,但無法弄清楚。
查看完整描述

3 回答

?
慕工程0101907

TA貢獻1887條經驗 獲得超5個贊

已過時SWIFT 4.1。使用#if targetEnvironment(simulator)代替。資源


要在Swift中檢測模擬器,您可以使用構建配置:


在Swift編譯器-自定義標志>其他Swift標志中定義此配置-D IOS_SIMULATOR

在此下拉列表中選擇任何iOS模擬器SDK下拉列表

現在,您可以使用以下語句來檢測模擬器:


#if IOS_SIMULATOR

    print("It's an iOS Simulator")

#else

    print("It's a device")

#endif

您也可以擴展UIDevice類:


extension UIDevice {

    var isSimulator: Bool {

        #if IOS_SIMULATOR

            return true

        #else

            return false

        #endif

    }

}

// Example of usage: UIDevice.current.isSimulator



查看完整回答
反對 回復 2019-12-11
?
ITMISS

TA貢獻1871條經驗 獲得超8個贊

我創建了一個簡單的實用程序結構。此解決方案避免了產生的警告。


import Foundation


struct Platform {


? ? static var isSimulator: Bool {

? ? ? ? return TARGET_OS_SIMULATOR != 0

? ? }


}

用法示例:


if Platform.isSimulator {

? ? print("Running on Simulator")

}



查看完整回答
反對 回復 2019-12-11
  • 3 回答
  • 0 關注
  • 705 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號