记录私有iPhone方法

记录私有iPhone方法,iphone,ios,xcode,logging,Iphone,Ios,Xcode,Logging,有没有办法通过Xcode记录私有方法等?例如: 用户按下按钮。Console记录用户按下按钮时发生的所有事件的信息。我在考虑如何将SQL输出记录到调试器,并查看正在发生的一切 原因是我正在尝试使用一些私有框架,特别是控制发送电子邮件的框架。如果有某种方法可以查看在调用MFMailComposeViewController、用户按下send和它被解除之间调用了什么,这将非常有用。如果有某种方法可以确切地知道所使用的是什么,那么对私有头进行排序就会容易一些 希望这能澄清我的问题 编辑: 即使是这么简

有没有办法通过Xcode记录私有方法等?例如:

用户按下按钮。Console记录用户按下按钮时发生的所有事件的信息。我在考虑如何将SQL输出记录到调试器,并查看正在发生的一切

原因是我正在尝试使用一些私有框架,特别是控制发送电子邮件的框架。如果有某种方法可以查看在调用MFMailComposeViewController、用户按下send和它被解除之间调用了什么,这将非常有用。如果有某种方法可以确切地知道所使用的是什么,那么对私有头进行排序就会容易一些

希望这能澄清我的问题

编辑:

即使是这么简单的事情:

NSLog(@"%s", __PRETTY_FUNCTION__);

但这可以应用于私有框架。

也许您可以在
objc\u msgSend
函数上设置一个符号断点,这将捕获每个objective-c方法调用。

我能想到的最接近的方法是以下之一:

NSLog( @"%@", [NSThread callStackSymbols] )
NSLog( @"%@", [NSThread callStackReturnAddresses] )
然而,你可能无法找到你想要的东西,因为你正进入越狱领域。请记住这一点,具体取决于您打算在哪里发布应用程序

您可能会找到有关私有API的更多信息,但我不能保证它们有多有用或是最新的。此外,大量关于私有API的搜索导致了一个名为

更新


出于好奇,
MFMailComposer委托
方法
mailComposeController:didFinishWithResult:error:
是否未提供足够的信息?调用时,您将在发送邮件失败()事件中获得结果(失败、取消、保存、发送)和错误对象(可能包含更多详细信息)。

谢谢!目的是查看“sent”按钮调用了什么方法,以便通过使用该类的私有头,然后自己调用该方法来实现自动化。委托方法仅提供发生的事件的后续效果。这也适用于企业应用程序,因此应用程序商店限制不适用于此特定应用程序。除了找到如何做到这一点之外,第二个原因是,检查iOS更新版本中私有框架的更改不需要每次都转储标题并搜索它们。@DanaK可以理解,但即使有了企业帐户,苹果也没有让它变得更容易。撇开限制不谈,私有API仍然埋藏得很深。