Как обнаружить и избежать использования частных API в сторонних библиотеках

Теперь, когда Apple проводит какой-то статический анализ, чтобы автоматически проверять частное использование API, многие люди были пойманы из-за библиотеки Three20. Я использую другую стороннюю библиотеку (которую я сам компилирую из кода), и я хотел бы автоматически проверять ее на предмет использования частного API перед отправкой в Apple, чтобы я мог исключить / переписать эти части.

Если я бегуnm в моем исполняемом приложении я получаю список символов и вижу там символы, которые я не использую. Например, я вижу _AudioServicesPlaySystemSound, и если я ищу «AudioServicesPlaySystemSound» в XCode, я не получаю никаких результатов. Есть ли способ автоматически различать вызовы к частным API, например, я заметил, что у Apple есть привычка называть их начальным подчеркиванием.

Однако: если я намеренно включаю вызов в частный API, он не отображается в выводеnm, но он появляется, если я бегуstrings на двоичном Исходя из этого, у меня была одна идея - собрать огромный список всех частных вызовов API в огромную таблицу и автоматически искать их в выводе строк. Я этого еще не сделал.

У кого-нибудь есть какие-либо советы о том, как автоматически поймать этот материал, так что я проверяю процесс только один раз?

Ответы на вопрос(2)

Ваш ответ на вопрос