Question

Bottom line: read the two questions at the bottom.

I am in the progress of transitioning languages, so forgive me for the newb question. I am building an app that has, surprise, an audio/video capture requirement.

Using the development sample code for UIImagePickerController as a reference I was able to build out a working prototype. However, I quickly realized that UIImagePickerController is too simple. You don't get landscape mode and some of the options seems pretty basic.

I see that Apple recommends using AV Foundation. In addition, I read, on stack overflow, that there are a number of projects on github that extend or replace UIImagePickerController.

This brings me with two questions:

1) Is it a common scenario that Foundation/UIKit provide some very basic functionality, but if you really want a fully featured implementation, you need to go full tilt into one of the more complex frameworks? Personally, starting out, AV Foundation is pretty intimidating. The giant leap between UIImagePickerController and AV Foundation capture seems quite large. The fact that UIImagePickerController kind of "stops dead" so early in the feature set surprises me due to AV capture being so common. Perhaps I'm missing something.

2) Is it common for people to use a lot of 3rd party dependencies with objective-C development? In this case, getting an alternative open source image picker? I guess what I'm asking here, is Objective-C development as prone to dependency hell as other ecosystems?

Was it helpful?

Solution

  1. I know it's possible to use overlays to customize the appearance, but I still think this would leave you with some of the same problems. You can't write a custom camera without AVFoundation, but I think it's worth it to get a few features that you really want.

  2. Yes, third party dependencies are quite common. But, there are often at least a couple options when looking for something.

You can check out my newly open sourced version of a camera here: https://github.com/LoganWright/SimpleCam

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top