Skip to content

ANameBehindTheNickname/CameraApp-iOS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

59 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation


CameraApp

Description

This is a basic photo camera that is built with modularization in mind.

The app supports rotations! It imitates the rotation logic from the standard iOS Camera app (thanks to Rotations framework). It also works when the device orientation is locked from Control Center.

Note about the architecture


Camera control is a thing that has multiple states (grid on/off, camera back/front, flash on/off/auto etc.). I use State Machine to help me dealing with all possible combinations. View sends an Event to ViewModel, which in turn updates the State Machine, eventually leading to View updates.

Features

  • 📷 Front and back camera support
  • HD photo
  • ⚡️Flash

Screenshots

Note: CameraApp look may differ on a real iPhone 13 device.

Images in screenshots

"European hare, Lepus europaeus, Zając szarak", by Artur Rydzewski, CC BY-NC-SA 4.0
"Tree reflection", by Artur Rydzewski, CC BY-NC-SA 4.0
I also made slight modifications (crop).

How to install

  • git clone / download a zip
  • build and run

It has an external dependency (Rotations framework), but it is included in the project. No need to download anything.

License

This project is licensed under BSD-3-Clause License. See LICENSE for details.