Краткий ответ: используя категории в Objective-C, вы можете расширить или дополнить любой класс в системе, включая базовые классы и сам NSObject. (Например, в «Ruby Patching» в Ruby.)
Фактическое общение - это, скорее всего, передача, посылка посылок, которые не ожидают ответа. Когда вы запускаете ваше приложение, оно просто начинает перехватывать эти пакеты. Так что это приложение-симулятор, которое подключается к потоку iSimulate, а не к iSimulate, каким-то образом «проникающим» в ваше приложение.
Взгляните на проект с открытым исходным кодом Симулятор акселерометра . Вы также можете легко распространить его на трансляции, и в основном дублировать то, что делает iSimulate. И вы узнаете об изящной стороне Objective-C.