Home

Awesome

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

<p align="center"> <img src="https://github.com/abdullahselek/TakeASelfie/blob/master/Resources/selfie_screen.png"/> </p>

Requirements

TakeASelfie VersionMinimum iOS TargetSwift Version
0.1.411.05.x
0.1.311.04.2
0.1.211.04.1

Don't forget to add permissions to your application.

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.