iSimulate自动挂钩

时间:2010-03-09 20:37:49

标签: iphone objective-c debugging objective-c-runtime

我想知道是否有人知道iSimulate如何自动注册/挂钩到调试的iDevice应用程序中?它就像包含静态库(和几个框架)一样简单,它只是起作用。没有方法或功能可以调用。这怎么可能?

1 个答案:

答案 0 :(得分:1)

简短回答:在Objective-C中使用类别,您可以扩展或扩充系统中的任何类,包括核心类和NSObject本身。 (类似于Ruby中的“猴子修补”。)

实际的通信很可能是广播,发送不希望得到回复的包。当您启动应用程序时,它就会开始拦截这些程序包。所以这是模拟器应用程序挂钩到iSimulate流,而不是iSimulate以某种方式“进入”您的应用程序。

查看开源accelerometer simulator项目。您也可以轻松地将其扩展到广播触摸,并且基本上复制了iSimulate的功能。而且你了解了Objective-C的漂亮方面。