Как удалить эти искаженные селекторы из приложения iOS
Мне нужна помощь в удалении известных искаженных селекторов в моем приложении для iOS.
Apple отклонила мое приложение, заявив:
Что касается Руководства 2.3.1, проверено, что это приложение содержит искаженные селекторы, такие как
- x7kQPFEZS4af59md1eVMqf42YSTGAZVO:
а такжеi5B8qlaSJwvmVviceDOQkqQ0vwGq35XMmtV81zlsmHnws
,
Я попытался запустить команду nm, которая перечисляла все символы, а затем искал вышеупомянутые селекторы, используя grep:
grep -r x7kQPFEZS4af59md1eVMqf42YSTGAZVO.
grep -r i5B8qlaSJwvmVviceDOQkqQ0vwGq35XMmtV81zlsmHnws.
Обе grep показывает следующий результат:
Двоичный файл./Payload/MyAppName.app/MyAppName соответствует
MyAppName - это двоичный файл (исполняемый Unix).
Как мне продолжить и удалить эти искаженные селекторы из моего приложения iOS? (или, по крайней мере, найдите, какой код / фреймворк создает этот селектор)
1 ответ
Я использовал дизассемблер Hopper, чтобы найти библиотеку с искаженными селекторами. Я следовал за этими шагами:
- Создайте файл.ipa из проекта XCode (не уверен, что он был экспортирован как разработка или сборка App Store, возможно, вам придется попробовать каждый из них).
- Разархивируйте файл.ipa
- Откройте приложение Hopper, перетащите файл.app в папку Payload после распаковки.
- Загрузите его как "FAT архив", когда его спросят.
- Пусть приложение завершит сканирование.
- Найдите искаженное имя селектора в левом меню.
- Выберите соответствующий селектор, на правой панели подробностей, я мог бы найти некоторые специфичные для проекта имена классов / методов. Я искал эти классы и имена методов в моем проекте и нашел библиотеку.
Приложение было одобрено после того, как я удалил эту библиотеку.