I am curious if ANY level of obfuscation is allowed?
Yes, any level of obfuscation is allowed... because it’s totally irrelevant to App Review. They review only your final binary and never see your source code. You can write code with clear symbol names or incomprehensible symbol names and it makes no difference.
But I don't really want to make it easy for someone to pull the strings from the binaries and try and copy my work.
You can search around the web for much more discussion of this, but basically that’s a pretty difficult thing to do on the iOS platform. And if someone did extract your binary, they won’t see your symbol names. Those disappear during the build process for your final binary. In fact that’s why you’ll see references to needing to “symbolicate” crash reports obtained from user devices: the crash report doesn’t contain any function names because they aren’t on the device at all.
Try this: take your .app bundle built from a Release (not Debug) configuration, and search through all the files in it for the kind of strings you are worried about. You shouldn’t find them.
If you are coming from a platform where obfuscation is a more normal thing to do, that really doesn’t apply on iOS.
Topic:
App Store Distribution & Marketing
SubTopic:
App Review
Tags: