It's a lot more complicated than it might seem initially. Any tool that mangles method names has the potential to fudge up:
- KVC compliance
- The use of dynamically generated selectors
- Nib file compatibility
- Protocol conformance
- Method inheritance
Obfuscation is just another layer to deal with; often obfuscation is easily reversed. It is not really possible to “encrypt” your classes because the Objective-C runtime and Cocoa framework won't know how to decrypt it. Anyone determined enough will eventually figure out how your program works.