iOS应用程序 - 查找(未知)私人API呼叫

时间:2014-01-23 20:14:27

标签: ios iphone itunesconnect iphone-privateapi

我们在iTunes上有一个应用程序,它在iTunes中收到一条警告:它使用了未记录的api调用:

reateScreenIOSurface
IOSurfaceAcceleratorCreate
IOSurfaceAcceleratorTransferSurface
IOServiceGetMatchingService
IOMobileFramebufferOpen
IOMobileFramebufferGetLayerDefaultSurface
kIOMasterPortDefault
IOServiceMatching
IOObjectRelease
IOServiceClose

这些都来自IOSurface api,适用于Mac OSX,但是,我在我们的应用程序中找不到任何这些cals。我的猜测是我们使用的第三方框架之一就是问题所在。 该应用程序有3个框架,可以使用这些apis:Aviary,Sincerely和Pritnzel。

无论如何,我的问题是,如何找到真正使用这些api的位置? 我在app二进制文件以及3个框架(以及应用程序使用的任何其他第三方框架)上使用了nm -uotool -L,没有任何运气。

非常感谢

1 个答案:

答案 0 :(得分:1)

我相信你甚至不必使用nm或工具。只需使用grep来搜索框架目录中提到的这些API。

然而,奇怪的是你找不到使用nm和工具,特别是你的二进制文件。

顺便说一句。尝试grep“IOSurface”。这是一个定义这些方法的框架。