Приложение iOS отклонено - Руководство 2.3.1 - Производительность

Я только недавно отправил свое приложение в магазин приложений. Но магазин приложений отклонил мое приложение и сказал

Мы обнаружили, что ваше приложение содержит запутанный код, искажение селектора или функции, предназначенные для подрыва процесса проверки приложения, путем изменения этой концепции приложения после утверждения в App Store. Для следующей отправки этого приложения может потребоваться больше времени для проверки, и это приложение не будет иметь право на ускоренную проверку, пока эта проблема не будет решена.

Мы не добавили ни одной новой сторонней библиотеки с момента последней отправки. В нашем приложении с прошлых 1,5 года мы используем реактивную и firebase, это может быть причиной отклонения приложения.

Ответ 1

Apple строго следует своим рекомендациям по обзору AppStore и в любом случае хочет пойти на компромисс. Есть очень-очень-очень редкие шансы, что Apple пойдет на компромисс по этому поводу.

Из этого Руководства

Apple хочет сказать, что функция/функция/поведение приложения должны быть одинаковыми в процессе до и после проверки. Приложение не должно изменять свои функции/функции после обзора процесса.

Apple считает, что после одобрения приложения функция/функция/поведение вашего приложения может измениться. И именно по этой причине Apple попросила больше времени для обзора.

Это можно сделать, просто установив логическую переменную на основе ответа API, ИЛИ установив таймер в приложении и т.д. Если вы это сделаете, то ваше приложение никогда не будет одобрено.

Что вы можете сделать сейчас?

Вы всегда можете связаться с рецензентом приложения и поспорить с ними о вашем приложении, и они подробно объяснят, что не так с приложением.

Таким образом, вы можете исправить и повторно отправить приложение снова.

Ответ 2

Определенно некоторые сторонние библиотеки используют обфускацию.

  1. Попросите команду рецензирования App Store предоставить более подробную информацию о том, какой код приложения скрыт. Они предоставят что-то вроде этого: "Специальные методы заметки с шифрованием имен включают (но не обязательно ограничиваются ими) YVzJpCJy, lUwqjWK, djLkQS, setLUwqjWK и QsQwZw"

  2. Перейдите в отправленный архив Xcode, откройте его в Finder App.xcarchive/Products/Applications/App.app/Frameworks.

  3. Используйте otool -ov <path_to_framework_binary_inside_framework_bundle> в терминале. Он будет печатать имена и методы из двоичного файла. Используйте cmd + f для поиска ваших символов, предоставленных Apple Review Team.

  4. Укажите пункт # 3 для всех платформ, чтобы найти, кто использует запутывание. Чтобы сделать его более эффективным, имеет смысл начать с тех, кто потенциально может использовать обфускацию для обеспечения безопасности, например, с поставщиками платежных услуг.

  5. Проверьте обновленную версию библиотеки, которая удалила запутывание - они могут написать это в заметках о выпуске или связаться со службой поддержки, чтобы получить дальнейшие инструкции о том, как использовать их библиотеку в этом случае.