Xcode 7+Swift 2.2でiOSアプリを開発中だが、カメラ機能などはSimulator上では動作しない機能がある。
そのために、プログラム上(Swiftコード中)でシミュレータで動作中かを判別して処理を分けたいところだが、こういう感じにするのが良いらしい。

Swift
#if (arch(i386) || arch(x86_64)) && os(iOS) // simulator で動作している。 #endif

下記の表によると、他にもOSの種類(OS XやiOS,watchOS)やSwiftバージョンで、処理を分けることが可能のようだ。

Function Valid arguments
os() OSX, iOS, watchOS, tvOS, Linux
arch() i386, x86_64, arm, arm64
swift() >= followed by a version number

NOTE
The arch(arm) platform testing function does not return true for ARM 64 devices. The arch(i386) platform testing function returns true when code is compiled for the 32–bit iOS simulator.