eight
eight

Reputation: 167

AppStore rejected because of code obfuscation and selector mangling: none is done in the app

My iOS app has gone through multiple releases. I just added another feature (playing audio files using facebook audio360 tbe format), and the app got rejected with the wording:

From Apple 2. 3 Performance: Accurate Metadata Guideline 2.3.1 - Performance

We discovered that your app contains hidden features. Specifically, It would be appropriate to remove all code obfuscation and selector mangling from this app before resubmitting for review.

The next submission of this app may require a longer review time.

Next Steps

  • Review the Performance section of the App Store Review Guidelines.
  • Ensure your app is compliant with all sections of the App Store Review Guidelines and the Terms & Conditions of the Apple Developer Program.
  • Once your app is fully compliant, resubmit your app for review.

Submitting apps designed to mislead or harm customers or evade the review process may result in the termination of your Apple Developer Program account. Review the Terms & Conditions of the Apple Developer Program to learn more about our policies regarding termination.

If you believe your app is compliant with the App Store Review Guidelines, you may submit an appeal. Alternatively, you may provide additional details about your app by replying directly to this message.

I am not performing "code obfuscation and selector mangling", has submitted an appeal, which was also rejected pointing to the same guideline.

I am using objective-c with some swift, Xcode 9, Product -> Archive -> Submit to App Store... Is it doing some obfuscation that I could turn off?

Upvotes: 8

Views: 7327

Answers (2)

nahlamortada
nahlamortada

Reputation: 489

It's most probably a 3'rd party library that does that.

I used Hopper to get to know the library.

First, unzip the ipa and get the app file.

Second, Drag it to Hopper and start scanning it.

Third, search for the mangled selectors.

Upvotes: 1

Jason Fuerstenberg
Jason Fuerstenberg

Reputation: 1351

Perhaps your audio playing feature is using a 3rd party framework which does use code obfuscation?

In any case, you can use the /usr/bin/nm tool for outputting the symbols within your raw executable and see if any of those look "mangled" in any way.

Upvotes: 2

Related Questions