Question

I have integrated a library that uses AVCaptureSession to capture a photo from the camera. As the AVCaptureSession is only available on iOS 4 devices, I want to disable this integrated functionality for older devices.

I know that it should be done by weak-linking the AVFoundation Framework and checking for function existence. Weak-linking is easy to do, but which function should I check for existence here? AVCaptureSession is a class and not a function.

Are there some sample code available?

Was it helpful?

Solution

I think you're looking for NSClassFromString:

Class NSClassFromString ( NSString *aClassName );

You can then guard usage of that class with something like this:

if (NSClassFromString(@"AVCaptureSession")) {
    ...
}
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top