I belive that it's not doable. If it's on the users HD, then the user can access it. You can of course do things like those below, but why? Information whants to be free, and personally I think that everything should be opensource, make the software free for those who do not make money out of using it (like the MySQL-licence).
1) Obfuscate your code (prevents disassembling and reverse engineering). Obfuscating means running a program on either your code or the finished program that will make any attempts to disassembling it quite pointless since the code created will look much like spaghetti (some say ravioli, but I think it's more like spaghetti). Disassembling is the reverse process of compilation, making source code out of a binary program. Maybe this is not what you had in mind.
2) Don't use Nibs, create the GUI in your (obfuscated) code, then people cannot see how you made that snazzy interface.
3) Encrypt your files and decrypt them when they are used in the program, using some of the freely available encryption-libraries. Images and other binary data could also be hard-coded into the code, it'd still be possible to extract it, but quite cumbersome.
4) If it's the amateur your after try "chmod a-r -R Appname.app/Contents/Resources" then no one will be able to read from that directory, not even the program itself (and therefore you must chmod it back when the app starts...). hmmm, am I right in my chmod there, it usually takes me one or two times to remember the exact combinations...
All the methods above are quite over the top, I don't really know what you want to do, or why you what to do it, but it's an interesting topic...
theo