iOS应用程序 - 查找(未知)私有API调用

4
我们有一个在iTunes上的应用程序,它收到了一个警告,称其使用了未记录的API调用:
reateScreenIOSurface
IOSurfaceAcceleratorCreate
IOSurfaceAcceleratorTransferSurface
IOServiceGetMatchingService
IOMobileFramebufferOpen
IOMobileFramebufferGetLayerDefaultSurface
kIOMasterPortDefault
IOServiceMatching
IOObjectRelease
IOServiceClose

这些都来自于IOSurface api,它是 Mac OSX 的 API,但我在我们的应用程序中找不到这些调用。我的猜测是我们使用的第三方框架之一有问题。

无论如何,我的问题是如何找到并确定是否真正使用了这些 API?

我已经在应用程序二进制文件以及三个框架 (和任何其他第三方框架) 上使用了nm -uotool -L,但没有任何发现。

非常感谢。


2
最简单的方法是使用文本编辑器打开二进制文件,然后搜索 IOSurface.framework - creker
1个回答

1
我相信您甚至不需要使用nm或工具来完成这个任务。只需使用grep在frameworks目录中搜索这些API的提及即可。
然而,奇怪的是您无法在二进制文件中使用nm和工具找到它们。
顺便说一句,请尝试搜索"IOSurface"。这是一个定义这些方法的框架。

谢谢。我通过在文本编辑器中搜索旧版本的构建文件找到了它。 - alex-i
顺便提一下,这些方法是由“Lookback”框架使用的,该框架也包含在发布版本中。 - alex-i

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接