我想知道是否有人知道 iSimulate 如何自动将自己注册/挂钩到已调试的 iDevice 应用程序中?它就像包含静态库(和几个框架)一样简单,并且可以正常工作。没有可调用的方法或函数。这怎么可能?
问问题
107 次
1 回答
1
简短的回答:使用 Objective-C 中的类别,您可以扩展或扩充系统中的任何类,包括核心类和 NSObject 本身。(例如,类似于 Ruby 中的“猴子补丁”。)
实际的通信很可能是广播,发送不期望得到答复的包。当你启动你的应用程序时,它只是开始拦截这些包。所以它是连接到 iSimulate 流的模拟器应用程序,而不是 iSimulate 以某种方式“进入”您的应用程序。
看看开源加速度计模拟器项目。您也可以轻松地将其扩展到广播触摸,并且基本上复制 iSimulate 所做的事情。你会了解 Objective-C 的精妙之处。
于 2010-03-09T21:26:31.770 回答