Swift 2.2でSimulator上で動作しているかを判定する方法

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

<div class="code-title">Swift</div>
#if (arch(i386) || arch(x86_64)) && os(iOS)
    // simulator で動作している。
#endif
 下記の表によると、他にもOSの種類(OS XやiOS,watchOS)やSwiftバージョンで、処理を分けることが可能のようだ。 
<th class="TableHeading_TableRow_TableCell">
  Valid arguments
</th>
<td>
  <code>OSX</code>, <code>iOS</code>, <code>watchOS</code>, <code>tvOS</code>, <code>Linux</code>
</td>
<td>
  <code>i386</code>, <code>x86_64</code>, <code>arm</code>, <code>arm64</code>
</td>
<td>
  <code>>=</code> followed by a version number
</td>
Function
os()
arch()
swift()
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.