- Records video and takes photos
- Flash on/off
- Front / Back camera
- Hold to recordVideo
- Tap to take photo
- Tap to focus / set exposure
- Pinch to zoom
- Looping video/photo preview with share button
- Callback based (Great for RX)
- View based (Great for animation rich UI/UX)
- Supports background music (Doesn't pause Spotify etc)
- Stores photo/video in temp dir
- Throw oriented code (allows external handling of errors)
- Persistent app authorization
- Animated record button (white to red transition)
- High codebeat GPA
- Low class scoped variable count (In order to better handle overall state)
- Setup errors can be handled from the POV of the initiator
- Operation errors is handled in the onCapture completion block
- Callback based (as oppose to delegate based) More info
- Easily styleable (The camera view is separate from the UI view)
- No third-party libraries or Sugar
- Entirely programatic (No storyboard)
- Thoroughly documented (Artifacts and sideEffects etc)
- Uses Linkdin style guide
- In order to keep things simple, The UI is CGRect based. Use your own Autolayout distro like SnapKit etc when adding additional UI
- Carthage:
github "eonist/HybridCam" "master"
- Manual: Open
HybridCamera.xcodeproj
- CocoaPod (Coming soon)
IMPORTANT: Make sure info.plist has these variables
Privacy - Microphone Usage Description
Privacy - Camera Usage Description
Privacy - Photo Library Additions Usage Description
self.view = HybridCamView()
view.camView.onPhotoCaptureComplete = { (image:UIImage?,url:URL?,error:Error?) in
Swift.print("On photo capture complete \(url)")
}
hybridCamView.camView.onVideoCaptureComplete = { (url:URL?,error:Error?) in
Swift.print("On Video capture complete \(url)")
}
- Add support for more orientation modes (Currently only supports portrait)
- Add support for error resolution from the POV of initiating the camera
- Make UI with AutoLayout 👈
- Make lib carthage support ✅
- Fix AudioBug ✅
- Fix FontCamera bug w/ IphoneX ✅
- Add Spatial, Chaplin as an option to HybridCam 👈
- Add CI-Travis 👈