Chapter 17. Photo Library and Camera

The 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 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. And of course, 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.

Access to the photo library requires user authorization. You’ll use the PHPhotoLibrary class for this (part of the Photos framework; import Photos). To learn what the current authorization status is, call the class method authorizationStatus. To ask the system to put up the authorization request alert if the status is .notDetermined, call the class method requestAuthorization(_:). The Info.plist must contain some text that the system authorization request alert can use to explain ...

Get Programming iOS 10 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.