Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

Tags:

app-store

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?

like image 264
eight Avatar asked Oct 04 '17 15:10

eight


People also ask

What is code obfuscation in iOS?

Code obfuscation has become a standard practice for iOS developers to prevent hackers from decompiling and reverse engineering code. Obfuscation can scramble the app's code (in various ways) to make it difficult to comprehend and analyze.

What does obfuscate mean in code?

Obfuscation means to make something difficult to understand. Programming code is often obfuscated to protect intellectual property or trade secrets, and to prevent an attacker from reverse engineering a proprietary software program. Encrypting some or all of a program's code is one obfuscation method.

What is app obfuscation?

Thus, code obfuscation is a method of modifying an app's code to make it difficult for attackers to read or comprehend. While the functionality of the code remains the same, obfuscation helps to conceal the logic and purpose of an app's code.

Why do apps get rejected?

The Apple or Android Play store will reject your app if it crashes or has severe faults during the review process. The App Review process will be thorough. Your app will be put through a series of stress and performance tests in order to break it.


1 Answers

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.

like image 198
Jason Fuerstenberg Avatar answered Nov 28 '22 13:11

Jason Fuerstenberg