Objective-C имеет достаточно информации в скомпилированном двоичном файле, чтобы почти полностью восстановить заголовки. Отсутствуют только имена аргументов, которые часто могут быть аппроксимированы из прототипа типа или метода, а также некоторые определения структуры и перечисления. Вот почему такие программы, как class-dump, являются лучшим способом получить заголовки. Они являются всеобъемлющими, включая каждый метод, независимо от того, был ли он в реальном заголовке или нет, обновлен и не нуждается в распространении. Другой способ получить заголовки - это посмотреть в публичной версии того же фреймворка, например, WebKit является закрытым для iPhone и в остальном хорошо документирован.
Если вас интересует что-то кроме Objective-C, вам, скорее всего, придется делать это старомодным способом, пробираясь через дизассемблирование, чтобы угадать аргументы функции. Как только вы получите несколько символов, найдите их, и, возможно, вы найдете заголовок, который кто-то еще опубликовал. otool - хорошее место для начала.
Если вы включаете заголовки, будь то для Objective-C или C, вы должны также включать каркасы или библиотеки, для которых заголовки объявляют методы, как и любые другие заголовки. Большая часть Objective-C находится в папке PrivateFrameworks рядом с обычной папкой Frameworks. Вы можете посмотреть в папке usr / lib, чтобы найти библиотеки.
Имейте в виду, что между симулятором и устройством существует множество отличий, поэтому убедитесь, что вы строите заголовки из реального устройства. Существуют также некоторые методы, которые вы не можете использовать как изолированное приложение.