Getting Started
Build rich Augmented Reality experiences for iPhone, iPad and Mac.
Overview
DeepAR is an augmented reality SDK used to integrate advanced, Snapchat-like face lenses in iOS, Android and Web apps.
DeepAR iOS framework supports:
- Face filters and masks.
- Glasses virtual try on.
- Background replacement.
- Background blur.
- AR mini-games.
Support
- iOS and iPad, minimum target version 12.4.
- MacOS, minimum target version 10.15.
DeepAR is available as xcframework for:
- iPhone.
- iPhone simulator for x86_64 ARCH (arm64 support coming soon).
- Mac for x86_64 ARCH (arm64 support coming soon).
DeepAR can be used in both Swift and ObjC projects.
Quickstart project
See the official example here.
Install
DeepAR is available as xcframework through CocoaPods, Swift Package Manager and can be downloaded directly from DeepAR Developer Portal.
Swift Packages
Add swift package to your Xcode project from this GitHub URL:
https://github.com/DeepARSDK/swift-deepar
CocoaPods
To install DeepAR via CocoaPods, add this to your Podfile:
pod 'DeepAR'
If the pod install
command fails, you may need to run pod install --repo-update
.
This is because the CocoaPods repos sometimes need a lot of time to sync.
Direct download
- Download the iOS package from DeepAR Developer Portal and unzip.
- With your project open in Xcode, select your Target. Under General tab, find Frameworks, Libraries, and Embedded Content and then click the
+
button. - Click
Add Other...
and thenAdd files...
button. - Select the
DeepAR.xcframework
from the unzipped directory and clickOpen
.
License key
In order to use the DeepAR SDK you need to set up a license key for your ios app on developer.deepar.ai.
- Create an account: https://developer.deepar.ai/signup.
- Create a project: https://developer.deepar.ai/projects.
- Add a ios app to the project. Note that you need to specify the bundle id of your app app.
Getting started
Import DeepAR.
import DeepAR
Create DeepAR object and set your license key.
var deepAR = DeepAR()
deepAR.setLicenseKey("your_license_key_here")
Add delegate for the DeepAR object to be notified of async events.
deepAR.delegate = ...
Create CameraController object:
var cameraController = CameraController(deepAR: deepAR)
Get the UIView
that will display the camera preview and AR filters.
Add it to your view hierarchy.
let arView = self.deepAR.createARView(withFrame: ...)
mainView.addSubview(arView)
Start the camera controller
cameraController.startCamera(withAudio: true)
Wait for the didInitialize
delegate to be called.
Switch effects
AR filters are represented by effect files in DeepAR. You can load them to preview the effect.
Places you can get DeepAR effects:
- Download a free filter pack: https://docs.deepar.ai/deep-ar-studio/free-filter-pack.
- Visit DeepAR asset store: https://www.store.deepar.ai/
- Create your own filters with DeepAR Studio.
Call switchEffect
method to load an AR filter from a file.
File can be placed in the app bundle or fetched from network and saved to device.
deepAR.switchEffect(withSlot: "effect", path: path)
License
Please see: https://developer.deepar.ai/customer-agreement
Permissions
In the Info.plist file of your project, you need to add the following entries and their descriptions (the descriptions are optional):
Privacy - Photo Library Usage Description
Privacy - Microphone Usage Description
Privacy - Camera Usage Description
These are needed since the library uses camera features to take screenshot and videos which can be saved to your phone library. Additionally, to enable the sound processing features for recorded videos microphone usage description is required.