Just found out that even on iOS the scripts can be decompiled. Which I don't like that much :razz: I thought this is safe on iOS since it's ARM bytecode and not the regular .NET bytecode?! I'm on iPhone Basic just for the record .
You could some type of obsuscation every time . Meaning it would turn every variable and function into some nonsensical variable names/function names.
Can someone clarify this? Why the heck the iOS compiled project (on iPhone basic) can be decompiled. Not only the functions names even the implementation's. I really thought it's not regular .NET bytecode on iPhone. But it looks like it is? Maybe the iPhone Pro Version does more during the stripping build phase ( which I know is for stripping unused stuff )
Reading thru the doc reveals the iPhone Pro strips the .NET bytecode and the iPhone Basic not. Edit: The above is not true regarding Unity Support. Both Versions should NOT have any .NET bytecode in the .app build. Might be a bug for iPhone Basic?
After a hint from support - just ran mono-cil-strip across your script .dll after Xcode build and the .NET bytecode is gone - at least from implementations which is like i wanted to have even on iPhone Basic mono-cil-strip can be executed from MonoDevelop as external tool
I wouldent wast your time worrying about people decompiling your code, there is no solution to stop it. If there was one and I was the person who came up with the solution,I would be really rich. The only thing you can do is make it harder for them and that's it.
So you mean getting rid of .NET bytecode in an iOS build and having smaller binarys and not exposing source code is a waste of time ?
My problem was that the iPhone Basic does not get rid of the .NET bytecode. You can strip bytecode manually across the .dll in an iOS build with mono-cil-strip. Which is part of Unity3d. Execute it from MonoDevelop as an external tool then the iPhone basic is safe regarding .NET bytecode. Why should a iPhone Basic license should exposure .NET bytecode and thru this the Source code of your app? The Unity Supporter gave me the hint . Thx