While I understand that in order for an iPhone application to be accepted on the App Store, one requirement is that only documented libraries are to be used.
If this is the case, how are certain applications such as ‘Night Camera’ and ‘Camera Plus’ using a camera control that seems to be something other than the one contained within UIImagePickerController?
I have heard of certain cases where a developer has been given ‘special’ access to certain headers that allow for features that would otherwise be impossible if constrained to only using documented libraries. However, given how opaque the application selection process is for the App Store, I would prefer to stick to what is recommended rather than take my chances.
Anyone care to shed some more light on this?
You might want to check out a classdump of apple’s private framework headers. Run this perl script:
http://arstechnica.com/apple/news/2008/11/dumping-the-iphone-2-2-frameworks.ars
and navigate to the PhotoLibrary directory under PrivateFrameworks. Some of the classes in here look pretty promising for direct camera access.
Using the undocumented API could hurt your chances of passing through the app store, but it’s all very subjective – If your product is good, apple will probably let it slide through. I’d recommend making friends with a developer evangelist at Apple.