Apple явно каким-то образом автоматизировал эту систему, я хотел бы получить доступ к версии системы, которую они используют.
За исключением этого, мне интересно знать, реализовывал ли кто-нибудь это самостоятельно.Иногда я работаю в команде, где менее опытные разработчики могут по незнанию использовать закрытый API или . Меня могут попросить использовать стороннюю библиотеку, которая без моего ведома использует API, который не является публичным..
Я знаю, что исполняемый файл приложения можно проверять на наличие имен методов.Я хотел бы сравнить их с базой данных известных непубличных методов или с общедоступными.В Objective-C / SQL часть процесса может выглядеть следующим образом:
for (NSString *selector in methodsArray) {
NSArray *array = [DataSource arrayWithQueryString:[NSString stringWithFormat:(SELECT `selectors` FROM `publicAPI` WHERE `selector` = '%@'),selector]];
BOOL public = ([array count] > 0);
if (!public)
return NO;
}
Я предполагаю, что большая часть работы будет заключаться в том, как изолировать имена методов и сохранить их в базе данных таким образом, чтобы при проверкепротив них было бы наиболее эффективно.
Я мог бы создать версию этого сам, но если есть кто-то, кто уже сделал это, мне интересно знать об этом, и мне все равно, на каком языке это достигается.