Теперь, когда Apple выполняет какой-то статический анализ для автоматической проверки использования частного API, многие люди были пойманы из-за библиотеки Three20. Я использую другую стороннюю библиотеку (которую я сам компилирую из кода), и я хотел бы автоматически проверять ее на предмет использования частного API перед отправкой в Apple, чтобы я мог исключить / переписать эти части.
Если я запускаю nm
на своем исполняемом файле приложения, я получаю список символов, и я вижу там символы, которые я не использую. Например, я вижу _AudioServicesPlaySystemSound, и если я ищу «AudioServicesPlaySystemSound» в XCode, я не получаю никаких результатов. Есть ли способ автоматически различать вызовы к частным API, например, я заметил, что Apple имеет привычку называть их начальным подчеркиванием.
Однако: если я намеренно включаю вызов в частный API, он не отображается в выводе nm
, но он появляется, если я запускаю strings
в двоичном файле. Исходя из этого, у меня была одна идея - собрать огромный список всех частных вызовов API в огромную таблицу и автоматически искать их в выводе строк. Я еще этого не сделал.
У кого-нибудь есть какие-либо советы о том, как автоматически отловить этот материал, поэтому я проверяю процесс только один раз?