0
我知道斯威夫特具有預處理指令是檢查操作系統:斯威夫特系統檢查版本在Ubuntu
#if os(iOS)
...
#elseif os(OSX)
...
#endif
但是,在網上搜索後,我發現沒有什麼是檢查操作系統是否Ubuntu Linux系統。 有沒有辦法做到這一點?我知道swift最近纔在Ubuntu上工作,所以我意識到在撰寫本文時可能沒有辦法。
我知道斯威夫特具有預處理指令是檢查操作系統:斯威夫特系統檢查版本在Ubuntu
#if os(iOS)
...
#elseif os(OSX)
...
#endif
但是,在網上搜索後,我發現沒有什麼是檢查操作系統是否Ubuntu Linux系統。 有沒有辦法做到這一點?我知道swift最近纔在Ubuntu上工作,所以我意識到在撰寫本文時可能沒有辦法。
在Swift中,#if ... #endif
不是預處理器語句,而是 包含"Conditional Compilation Block"。對於os()
平臺條件 有效的參數是(目前)記錄爲
macOS, iOS, watchOS, tvOS, Linux
因此#if os(Linux)
檢查Linux平臺。 一個典型的例子是
#if os(Linux)
import Glibc
#else
import Darwin
#endif
從Linux和蘋果平臺的C庫導入功能。
'#if os(Linux)' - 這裏的示例:http://stackoverflow.com/questions/41035180/swift-arc4random-uniformmax-in-linux。 –
並記錄在此處:https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/Statements.html#//apple_ref/doc/uid/TP40014097-CH33-ID538。 –
@MartinR,謝謝你想寫一個答案所以我可以接受? – kmn