iOS App Rejected- Guideline 2.3.1 -Performance -Removing obfuscated code, selector mangling

Ashvini Wable
2 min readNov 7, 2019

I just recently submitted my application to the app store. But the app store review team has rejected my binary and reported below issue:

Anyone suffering from the same rejection, this blog will help you to resolve this issue.

I have fixed this issue by using one tool — Hopper and I would love to share my experience with you guys.

The very first thing is that we need to understand, Why Apple reports this issue and rejects our binary?

  • Most of the time we used some third-party libraries into our applications, and some of them have obfuscation. Since Apple strictly follow their AppStore Review Guidelines and they don’t want to compromise in any case. So, if they found these obfuscated code, selector mangling then they reject our binary and report this issue.

In this case, we need to find those third-party libraries from our application’s source code which contains obfuscation, remove them and again submit your application for apple review.

I used a disassembler Hopper to locate a library that had the mangled selectors. I followed these steps:

  1. Download and install Hopper into your mac.
  2. Create an .ipa file of your application from Xcode.
  3. Open Hopper application and click Try the Demo.
  4. Now drag and drop the .ipa file inside the Payload folder.
  5. Load it as ‘FAT archive’ when asked.
  6. Let the application complete the scan.
  7. Search for the mangled selector name on the left menu. (You can find these codes from reported issue message by Apple into Resolve center)
  8. Select the matched selector, on the right detail pane, I could find some project-specific class/method names. I searched these Class and method names in my project and located the library.

The application was approved after I removed that library.

That’s it. I hope this will be useful for you..! 👍

--

--