我正在为客户开发一款iPad应用程序.有大量的工作已经完成,我正在努力拼凑整个设计的运行方式.
我想做的其中一件事是记录应用程序运行时调用哪些方法.我见过一个自定义DTrace脚本,它意味着记录启动时的所有方法,但是当我在Instruments中运行它时,我没有得到任何结果.
记录方法的最佳方法是什么?
我可以拦截Objective-C中的方法调用吗?怎么样?
编辑: 马克鲍威尔的回答给了我一个部分解决方案,-forwardInvocation方法.但是文档指出-forwardInvocation仅在向对象发送消息时才调用,该消息没有相应的方法.我想在所有情况下调用一个方法,即使接收器确实有那个选择器.
我对登录框架或在封面下没有兴趣,但只有在每个方法进入和退出时我的源代码级别.我希望它提供类名和方法名称并将其记录到文件或至少让它在屏幕上飞过.
我的查询是,如果可以使用现有的Xcode/Debugger/Instruments工具,我是否可以在每个方法入口和出口处以除了NSLog语句之外的简单方式实现它,或者是否有提供此功能的商业工具?
我在这里谈论源方法......不是执行进程或线程.谢谢.
我真的希望看到在iPhone模拟器中运行我的应用程序时调用/发送的每个方法,委托,通知等.我认为正确的地方是调试器,但我找不到合适的设置.
我的目标是在后台看到所有发生的事情,例如,我向UITableView添加一行或从我的UINavigationController中按下"后退"按钮.
这将有助于弄清楚当应用程序中的某些内容发生时,或者当用户按下按钮,更改视图等时要使用的委托.
是否有可能获得此信息?
iphone ×2
objective-c ×2
debugging ×1
instruments ×1
intercept ×1
ios ×1
ipad ×1
methods ×1
trace ×1
xcode ×1