Skip to content

An iOS framework that uses the front camera, detects your face and takes a selfie.

License

Notifications You must be signed in to change notification settings

abdullahselek/TakeASelfie

Repository files navigation

Build Status CocoaPods Compatible Carthage Compatible License

TakeASelfie

An iOS framework that uses the front camera, detects your face and takes a selfie. This api opens the front camera and draws an green oval overlay on the center of the screen. When a single face has been included in the overlay, selfie automatically will be taken and saved in photo album.

Screenshot

Requirements

TakeASelfie Version Minimum iOS Target Swift Version
0.1.4 11.0 5.x
0.1.3 11.0 4.2
0.1.2 11.0 4.1

Don't forget to add permissions to your application.

  • Privacy - Camera Usage Description (For using camera)
  • Privacy - Photo Library Additions Usage Description (To save captured selfies)
  • Privacy - Photo Library Usage Description - Optional (To display saved selfies from photo album)

CocoaPods

CocoaPods is a dependency manager for Cocoa projects. You can install it with the following command:

$ gem install cocoapods

To integrate TakeASelfie into your Xcode project using CocoaPods, specify it in your Podfile:

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '11.0'
use_frameworks!

target '<Your Target Name>' do
    pod 'TakeASelfie', '~>0.1.4'
end

Carthage

Carthage is a decentralized dependency manager that builds your dependencies and provides you with binary frameworks.

You can install Carthage with Homebrew using the following command:

brew update
brew install carthage

To integrate TakeASelfie into your Xcode project using Carthage, specify it in your Cartfile:

github "abdullahselek/TakeASelfie" ~> 0.1.4

Swift Package Manager

Modify your Package.swift file to include the following dependency:

.package(url: "https://github.com/abdullahselek/TakeASelfie.git", from: "0.1.4")

Run swift package resolve

XCFramework

XCFrameworks require Xcode 11 or later and integration is very similar to integration of .framework format. Please use script scripts/build-framework.sh to generate binary TakeASelfie.xcframework archive that you can use as a dependency in Xcode.

TakeASelfie.xcframework is a Release (Optimized) binary that offer best available Swift code performance.

Usage

First import library by

import TakeASelfie.

Extend your viewcontroller from SelfieViewDelegate than you can get the event that selfieviewcontroller dismessed.

extension MainViewController: SelfieViewDelegate {

    func selfieViewControllerDismissed() {

    }

}

Instantiate SelfieViewController and present as modal view controller.

let selfieViewController = SelfieViewController(withDelegate: self)
present(selfieViewController, animated: true, completion: nil)

Notes

TakeASelfie uses swiftlint as a linter to check the coding styles and to use a regular style. A script running whnen you build the framework target which invokes the swiftlint with a configuration file located on the root folder.