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.
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.
Note: CameraApp look may differ on a real iPhone 13 device.
"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).
- 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.
This project is licensed under BSD-3-Clause License. See LICENSE for details.