Как удалить эти искаженные селекторы из приложения 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, чтобы найти библиотеку с искаженными селекторами. Я следовал за этими шагами:

  1. Создайте файл.ipa из проекта XCode (не уверен, что он был экспортирован как разработка или сборка App Store, возможно, вам придется попробовать каждый из них).
  2. Разархивируйте файл.ipa
  3. Откройте приложение Hopper, перетащите файл.app в папку Payload после распаковки.
  4. Загрузите его как "FAT архив", когда его спросят.
  5. Пусть приложение завершит сканирование.
  6. Найдите искаженное имя селектора в левом меню.
  7. Выберите соответствующий селектор, на правой панели подробностей, я мог бы найти некоторые специфичные для проекта имена классов / методов. Я искал эти классы и имена методов в моем проекте и нашел библиотеку.

Приложение было одобрено после того, как я удалил эту библиотеку.

Другие вопросы по тегам