0
0
iOS Swiftmobile~20 mins

Camera and photo library in iOS Swift - Practice Problems & Coding Challenges

Choose your learning style9 modes available
Challenge - 5 Problems
🎖️
Camera and Photo Library Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
ui_behavior
intermediate
2:00remaining
What happens when UIImagePickerController sourceType is set to .camera?
Consider this Swift code snippet in an iOS app:
let picker = UIImagePickerController()
picker.sourceType = .camera
present(picker, animated: true)

What will the user see after this code runs?
iOS Swift
let picker = UIImagePickerController()
picker.sourceType = .camera
present(picker, animated: true)
AThe app shows an error because .camera is not a valid sourceType.
BThe app opens the photo library for the user to select an existing photo.
CThe app opens the device camera interface allowing the user to take a photo.
DThe app opens a blank screen with no controls.
Attempts:
2 left
💡 Hint
Think about what .camera means in UIImagePickerController.
🧠 Conceptual
intermediate
2:00remaining
Why must you check UIImagePickerController.isSourceTypeAvailable before using .camera?
In iOS development, before setting UIImagePickerController's sourceType to .camera, why should you check if the camera is available using isSourceTypeAvailable(.camera)?
ABecause some devices or simulators do not have a camera, and trying to use it without checking causes a crash.
BBecause it automatically requests camera permission from the user.
CBecause it improves app performance by preloading the camera hardware.
DBecause it changes the camera resolution settings.
Attempts:
2 left
💡 Hint
Think about devices like iPads without cameras or simulators.
lifecycle
advanced
2:00remaining
What delegate method is called after a user picks a photo from the library?
When using UIImagePickerController to let the user pick a photo from the photo library, which delegate method is called after the user selects a photo?
AimagePickerController(_:didFinishPickingMediaWithInfo:)
BimagePickerControllerDidCancel(_:)
CapplicationDidBecomeActive(_:)
DviewDidLoad()
Attempts:
2 left
💡 Hint
This method provides the selected image info.
🔧 Debug
advanced
2:00remaining
Why does this code crash when accessing the photo library?
Given this Swift code snippet:
let picker = UIImagePickerController()
picker.sourceType = .photoLibrary
present(picker, animated: true)

The app crashes on devices running iOS 14 or later. What is the most likely cause?
iOS Swift
let picker = UIImagePickerController()
picker.sourceType = .photoLibrary
present(picker, animated: true)
AThe present method requires a completion handler.
BThe sourceType .photoLibrary is not supported on iOS 14 or later.
CUIImagePickerController must be presented inside a navigation controller.
DThe app is missing the NSPhotoLibraryUsageDescription key in Info.plist, so iOS denies access.
Attempts:
2 left
💡 Hint
Check app permissions in Info.plist.
navigation
expert
2:00remaining
What is the correct way to dismiss UIImagePickerController after photo selection?
After the user picks a photo using UIImagePickerController, which code snippet correctly dismisses the picker and processes the image?
iOS Swift
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
    // process image
}
Adismiss(animated: true) { /* process image here */ }
Bpicker.dismiss(animated: true) { /* process image here */ }
Cpicker.popViewController(animated: true)
Dself.navigationController?.dismiss(animated: true)
Attempts:
2 left
💡 Hint
Dismiss the picker itself, not the whole view controller.