Search code examples
iosipadjailbreak

Objective C/iOS: Use Camera Cable's data


I got the idea to use my iPad mini as a field monitor when connected to my Canon EOS 600D. I've done some researching which led me to jailbreak my iPad. There was this app that let you do exactly this. Unfortunately the developer has stopped developing and doesn't answer to any emails. If you're interested, the name was DSLRController (there are YouTube videos on this). So basically, the app doesn't function anymore.

What I've come to now, is that I want to do it myself, since I really need this. The problem: I have absolutely no clue how I can access the data that comes from the Apple Camera Adapter (USB to lightning). Since the app before only worked with a jailbroken device I suppose it has something to do with that. Anyway, I would really appreciate any kind of help. Thank you


Solution

  • You're going to need to know the protocol for the camera: what commands it understands, and how to understand its replies. I don't know if Canon publishes this information or not, but many device manufacturers regard this kind of thing as a trade secret. Sometimes participants in open-source projects reverse-engineer protocols by sniffing traffic over the USB connection and publish their findings. Irrespective of where you obtain this information, if you don't have it, the rest of what I tell you here is moot.

    You'll need access to IOKit to discover your camera, obtain a device number for it, and use that to communicate with it using POSIX IO calls. This assumes that you have a suitable driver for your camera.

    IOKit is public in OS X, but it's private in iOS. There's a resource here that may be of help to you, but understand that, because this is all a big hack, you'll never get your efforts into the App Store if ever you decided to try. (Might have had something to do with your iPad needing to be jail-borked as well.)

    If you embark upon this project, you'll surf alone. Good luck. You're going to need it.