Chapter 17. Photo Library and Camera

The stored photos and videos accessed by the user through the Photos app constitute the device’s photo library.

Your app can give the user an interface for exploring the photo library through the UIImagePickerController class. In addition, the Photos framework, also known as PhotoKit, lets you access the photo library and its contents programmatically — including the ability to modify a photo’s image. You’ll need to import Photos.

The UIImagePickerController class can also be used to give the user an interface similar to the Camera app, letting the user capture photos and videos. Having allowed the user to capture an image, you can store it in the photo library, just as the Camera app does.

At a deeper level, the AV Foundation framework (Chapter 15) provides direct control over the camera hardware. You’ll need to import AVFoundation.

Constants such as kUTTypeImage, referred to in this chapter, are provided by the Mobile Core Services framework; you’ll need to import MobileCoreServices.

Browsing with UIImagePickerController

UIImagePickerController is a view controller providing an interface in which the user can choose an item from the photo library, similar to the Photos app. You are expected to treat the UIImagePickerController as a presented view controller. The documentation says that on the iPad you should make this a popover, but personally I find a fullscreen presentation more usable.

Image Picker Controller Presentation

To let the ...

Get Programming iOS 12 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.