FBSimulatorControl
Facebook (via Peter Steinberger):
The original use-case for
FBSimulatorControlwas to boot Simulators to run End-to-End tests withWebDriverAgent. AsFBSimulatorControlis a Mac OS X framework, it can be linked to from inside any Mac OS Library, Application, orxctesttarget. There may be additional use-cases that you may find beyond UI Test Automation.
FBSimulatorControlworks by linking with the privateDVTFoundation,CoreSimulatorandDVTiPhoneSimulatorRemoteClientframeworks that are present inside the Xcode bundle. Doing this allowsFBSimulatorControlto talk directly to the same APIs that Xcode andsimctldo. This, combined with launching the Simulator binaries directly, means that multiple Simulators can be launched simultaneously. Test targets can be made that don’t depend on any Application targets, or that launch multiple Application targets. This enables running against pre-built and archived Application binaries, rather than a binary that is built by a Test Target.