IOS – xcode iOS simulator launcher

ios-simulatorxcode

I am trying to understand the ios-sim launcher for cordova projects
https://github.com/phonegap/ios-sim/
The two points I am trying to understand are …

  • What is launching the simulator?

    1. Is it being called as a process from the command line
      something like… /path/to/sim — args?

    2. Is it being invoked as a system library?
      something like… include systemLib/magic
      then being called as a function that launches the simulator

  • How is the project being "injected/installed" into the simulator?

I have tracked down the answer as far as my understanding of Objective C can take me.
( @ least I believe the answer to my questions is in this function )

https://github.com/phonegap/ios-sim/blob/master/Source/iPhoneSimulator.m#L180

Its job is to launch the Xcode iOS simulator, at least I believe it is.

The Goal:
Is to be able to invoke the simulator directly from command line through the shell with out the need for all these projects dependencies and to better understand the process in which Xcode uses to run the simulator.

PLEASE forgive my shorthand notations and very likely incorrect use of terminology,
I am an Interpreted soul lost in a binary universe!

TY

Best Answer

As of Xcode 6, you can use the simctl command line tool. Check out:

xcrun simctl help

If there are any features missing, please file a radar at http://bugreport.apple.com ... this is a supported interface whereas the ios-sim utility was developed by reverse engineering private Xcode frameworks and can easily break between Xcode releases.