Giter Club home page Giter Club logo

takeaselfie's Introduction

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.

takeaselfie's People

Contributors

abdullahselek avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

takeaselfie's Issues

Added custom camera button

IMG_1721
Sometimes within seconds a selfie is capturing & sometimes taking 10 to 12 seconds time. So I have added custom camera button to capture the image. Can you please let me know how to capture image on button click.

iphone x issue

I tested with iPhone 6 and 7, it is working fine on these devices. But on iPhone x it is not detecting any faces

Camera only opens in portrait mode.

When the camera opens, it is in portrait mode. My application is purely landscape based. When i put a face infornt of camera, the face is rotated by 90 degrees. How would i open the camera in landscape.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.