سؤال

We have an app that's on iTunes, and it received a warning in iTunes that it uses undocumented api calls:

reateScreenIOSurface
IOSurfaceAcceleratorCreate
IOSurfaceAcceleratorTransferSurface
IOServiceGetMatchingService
IOMobileFramebufferOpen
IOMobileFramebufferGetLayerDefaultSurface
kIOMasterPortDefault
IOServiceMatching
IOObjectRelease
IOServiceClose

These are all from IOSurface api, which is for Mac OSX, however, I can't find any of those cals in our app. My guess is that one of the third party frameworks that we're using is the problem. The app has 3 frameworks that may use these apis: Aviary, Sincerely and Pritnzel.

Anyway, my question is, how can I find where (and if) these apis are really used? I've used the nm -u and otool -L on the app binary, as well as on the 3 frameworks (and any other third party frameworks that the app uses), without any luck.

Many thanks

هل كانت مفيدة؟

المحلول

I believe you don't even have to use nm or tool for this. Just use grep to search mentioning of these API's in frameworks directory.

However, that's strange that you can't find using nm and tool, especially in your binary.

BTW. Try to grep for "IOSurface" too. It's a framework which defines these methods.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top