I spent a lot of time reading through methods of source code obfuscation today, particular for Ruby. With Objective-C, there is immediately one layer of obfuscation, as the code gets compiled to a binary format which is generally not human readable. Ruby, however, is plain text. This means that any commercial application developer (soon to be us) leaves all their intellectual property exposed to anyone who buys a license to use the application.
There are no obfuscators currently in existence for Ruby, or at least none that I can find that seem to really do anything effective. Zenspider is working on one which turns your ruby code into C code, and then you can compile the C — however, this is not yet available and will be a commercial application (the former concerns me, the latter only concerns me if it’s expensive ;-)).
I’ve also done a lot of reading about encryption and obfuscation in general. I think that Zenspider is definitely going about things in the right way. While translating Ruby to C is not trivial, it’s also not impossible. However, right now the most important thing is getting the app to the point where it can be released–I can worry about protecting it later.