I am wondering how do I know what name I should give for my CFBundleSignature and CFBundleIdentifier. I believe these are supposed to be unique identifier so do I have to somehow get these names from apple? Say my app is called javaapp and comes from the website javaapp. Should my CFBundleIdentifier be com.javaapp.javaapp? What 4 letters should I use for my CFBundleSignature?
The Bundle Identifier uniquely identifies your application. If you have registered a domain name, use that. Otherwise, just use com.<your name>.<application name>
The Bundle Signature is analogous to the "Creator Code" found in Classic Mac OS. It exists only for compatibility with Classic Mac OS apps and documents. Modern Mac OS X apps don't need to worry about assigning a Bundle Signature.
Yes, assuming that you own the domain name javaapp.com, com.javaapp.javaapp would be fine as a bundle ID. There are some rules; as I recall, the bundle ID parts can only contain letters, digits, and hyphens.
The bundle signature in new Xcode projects is initialized as ????. You can probably leave it at that, but if you want your own code, you need to register it: http://developer.apple.com/datatype/index.html