🐵Fooling around with Apples private framework AvatarKit

Overview

SBSAnimoji

Fooling around with Apples private framework AvatarKit, the framework used in Messages.app for recording Animoji videos. If you are looking to create your own Animoji, take a look at SBSCustomAnimoji.

Mentions in the news:

Screenshot

What you get

  • Record Animoji videos of up to 60 seconds. Previously 20 seconds. Thanks, Khaos Tian!
  • Share your Animoji videos with the native share sheet.
  • Export videos to your photo library from the native share sheet.
  • An example of how to use Apples AvatarKit.

What you don't get

  • Error handling. Should you encounter an error, try restarting the app.
  • Support for the simulator. Run the app on your phone instead.

Notice

This project relies heavily on Apples private API and you should therefore not try to submit this code to App Store.

Comments
  • Adds karaoke

    Adds karaoke

    This is a rough implementation of recording Animoji karaoke videos. There are still some issues with the implementation. Since my iPhone X is currently being replaced by Apple I'm unable to investigate these issues further until I receive a replacement device.

    The feature was put together as part of a hackathon and has its rough edges which is why it is not yet merged into the master branch.

    Pessing "Start karaoke" starts a flow for searching and picking a video from YouTube. When a video is picked, it can be played and users can bbe the desired time of the video to start their recording at.

    Pressing record will then play the video while recording. When exporting the Animoji video, the audio from the original Animoji video is removed and replaced with the audio from the YouTube video.

    screenshot

    opened by simonbs 11
  • App not opening after a couple of days

    App not opening after a couple of days

    It has happened twice already, after a couple of days using the app, it suddenly crashes everytime I try to open it, having to erase and reinstall. Is there a way to fix this? Thanks!

    opened by Archundix 5
  • Build Error

    Build Error

    Im getting error /Users/zabik/Desktop/SBSAnimoji-master/SBSAnimoji/Pages/Main/MainView.m:96:61: Property 'safeAreaLayoutGuide' not found on object of type 'MainView *'

    opened by zabikk 4
  • iOs Beta Versions

    iOs Beta Versions

    Hello and thank you for such an amazing and necessary compliment to a sweet new feature :-)

    I am trying to load the app from xcode Beta version 9.2 while running iOs 11.2 Beta 4 on my iPhone X. . . I am receiving this message: ** iOS Deployment Target '11.2' is newer than SDK 'iOS 11.1' in target SBSAnimoji / Code will load on this and later versions of iOS. Framework APIs that are unavailable in earlier versions will be weak-linked; your code should check for null function pointers or specific system versions before calling newer APIs**

    Please advise with any and all help you are able to provide with this issue. Thank you.

    opened by StoneyP 3
  • AvatarKit.framework not loaded

    AvatarKit.framework not loaded

    dyld: Library not loaded: /System/Library/PrivateFrameworks/AvatarKit.framework/AvatarKit Referenced from: /var/containers/Bundle/Application/A5437001-83D4-4E36-871C-66621293C645/SBSAnimoji.app/SBSAnimoji The abocve issues when i faced to run the application. Any suggestions?

    opened by irshadpc 3
  • Mach-O Linker error

    Mach-O Linker error

    Undefined symbols for architecture x86_64: "OBJC_METACLASS$_AVTPuppetView", referenced from: OBJC_METACLASS$_SBSPuppetView in SBSPuppetView.o "OBJC_CLASS$_AVTPuppetView", referenced from: OBJC_CLASS$_SBSPuppetView in SBSPuppetView.o objc-class-ref in SBSPuppetView.o "OBJC_CLASS$_AVTPuppet", referenced from: objc-class-ref in MainViewController.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation)

    I received the above error when compiling, how to link these headers to your AvatarKit.framework?

    opened by quangvh23 3
  • Noob issue building the app

    Noob issue building the app

    Hi, Im sorry if this has come up in the past, but when trying to build the app on my iPhone X, I get the following errors: Code Signing Error Group There are no accounts registered with Xcode. Add your developer account to Xcode No profiles for 'dk.simonbs.SBSAnimoji' were found: Xcode couldn't find any iOS App Development provisioning profiles matching 'dk.simonbs.SBSAnimoji'. Code signing is required for product type 'Application' in SDK 'iOS 11.1'

    Could anyone help me Thanks a lot

    opened by Archundix 2
  • Build Failing

    Build Failing

    When I'm trying to build and run onto my iPhone, xCode is aborting the build.

    Error Message is: dyld: Library not loaded: /System/Library/PrivateFrameworks/AvatarKit.framework/AvatarKit Referenced from: /var/containers/Bundle/Application/F6441407-982B-4614-941B-F9D1602D9E44/SBSAnimoji.app/SBSAnimoji Reason: image not found (lldb)

    Any ideas?

    opened by chance-RCS 2
  • How do we download this?

    How do we download this?

    I am extremely interested in this code and would like to download it to my iPhone X. How would I be able to download it? Which items do I download? Do I install it as a profile? Please let me know. Thank you.

    opened by spacexdragon 2
  • Question about maximum time limit

    Question about maximum time limit

    How did you decide on 20 seconds and eventually 60 seconds as the maximum time limit? Does it overheat the phone or put an excess strain on the device to use an arbitrary time limit?

    opened by aaronn 1
  • dont complile on macbook pro

    dont complile on macbook pro

    high sierra xcode last ver

    very good project dont use xcode earlier and have some problems

    screen: https://yadi.sk/i/miFlt_wT3Q3AoK

    do you have video how I could compile?

    opened by AnGen 1
  • ALPHA BG,or Custom Color, or Blue, or Green BG for Exported Animation?

    ALPHA BG,or Custom Color, or Blue, or Green BG for Exported Animation?

    I just got a new iPhone XS yesterday (Feb 7, 2019)... and I'm a Apple iOS App Developer (Designer name: John Avatar)....

    1. How can I export the Animoji animation with an ALPHA background, or have a color background (not white), any custom color, or blue, or green, so I can "Green Screen" (or blue) out the background to end up with only the Emoji characters in a video?

    I was looking though the code trying change the export with a Blue BG, I'm able to get the view in Blue, but the export changes that to white!

    This is a great fun app! Thanks dudes!

    opened by JohnAvatar 0
  • Question

    Question

    How did you got hold of Apple's private API and I want to create an Android version of this app so I was thinking of using react, will it be possible?

    opened by ayan-das1234 14
Owner
Simon Støvring
I tinker with iOS automation and poke at private APIs. Working on Scriptable and Jayson for iOS.
Simon Støvring
A powerful Swift programmatic UI layout framework.

Build dynamic and beautiful user interfaces like a boss, with Swift. Neon is built around how user interfaces are naturally and intuitively designed.

Mike 4.6k Dec 26, 2022
Lightweight Swift framework for Apple's Auto-Layout

I am glad to share with you a lightweight Swift framework for Apple's Auto-Layout. It helps you write readable and compact UI code using simple API. A

null 349 Dec 20, 2022
Declarative iOS UI sugar framework built on FlexLayout

Declarative iOS UI sugar framework built on FlexLayout

당근마켓 97 Dec 9, 2022
Lightweight declarative auto-layout framework for Swift

SwiftyLayout SwiftyLayout is a framework that allows to describe layout constraints (ie NSLayoutConstraint) as a simple mathematical formula in a Swif

Hisakuni Fujimoto 15 Nov 7, 2017
A Swift binding framework

Bond, Swift Bond Update: Bond 7 has been released! Check out the migration guide to learn more about the update. Bond is a Swift binding framework tha

Declarative Hub 4.2k Dec 31, 2022
MyLayout is a simple and easy objective-c framework for iOS view layout

MyLayout is a powerful iOS UI framework implemented by Objective-C. It integrates the functions with Android Layout,iOS AutoLayout,SizeClass, HTML CSS float and flexbox and bootstrap. So you can use LinearLayout,RelativeLayout,FrameLayout,TableLayout,FlowLayout,FloatLayout,PathLayout,GridLayout,LayoutSizeClass to build your App 自动布局 UIView UITableView UICollectionView RTL

欧阳大哥2013 4.2k Dec 30, 2022
A declarative UI framework for iOS

Layout Layout is a native Swift framework for implementing iOS user interfaces using XML template files and runtime-evaluated expressions. It is inten

Nick Lockwood 2.2k Dec 23, 2022
FlightLayout is a light weight, and easy to learn layout framework as an extension of the UIView.

FlightLayout Introduction FlightLayout is a light weight, and easy to learn layout framework as an extension of the UIView. Functionally, it lives som

Anton 23 Apr 21, 2022
An elegant pagination framework written in Swift.

Paginator Example To run the example project, clone the repo, and run pod install from the Example directory first. Requirements Installation Paginato

Grigor Hakobyan 2 Dec 16, 2021
IOS-IntegratedPhotoCapture - Integrated photo capture framework use podspec

IOS-IntegratedPhotoCapture integrated photo capture framework use podspec ======

Nguyễn Thành Nam 1 Dec 30, 2021
LemonadeDeclarativeUI framework contains some new functions for UIKit

LemonadeDeclarativeUI framework contains some new functions for UIKit. This library has been developing. If you want to contribute reach me!

Özgür Elmaslı 0 Jan 2, 2022
ErrorHierarchy - A sibling framework to ActionHierarchy, but specialized for Error handling

Error Hierarchy This is a sibling framework to ActionHierarchy, but specialized

Emilio Peláez 1 Mar 27, 2022
Using the UIKitChain framework, You can create a UIKit component in one line of code.

Using the UIKitChain framework, You can create a UIKit component in one line of code. Installation CocoaPods CocoaPods is a dependency manager for Coc

Malith Nadeeshan 1 Sep 1, 2022
`SwiftUI` Framework Learning and Usage Guide. 🚀

This article refers to SwiftUI apple example and records the results of the exploration here, I hope to be helpful to you. For the content described i

晋先森 4.5k Jan 4, 2023
A Set of Tools To Extend UIKit (Classic iOS Framework)

RVS_UIKit_Toolbox A set of basic UIKit tools, for Swift iOS app development. Overview This package offers a few extensions of standard UIKit classes,

The Great Rift Valley Software Company 2 Jul 8, 2022
A iOS SwiftUI framework for displaying data from an api inside a List.

FeedListKit FeedListKit is a high level framework for representing data from an Api inside a SwiftUi List. It automatically handles refreshing and loa

Knoggl 3 Nov 2, 2022
RSA public/private key encryption, private key signing and public key verification in Swift using the Swift Package Manager. Works on iOS, macOS, and Linux (work in progress).

BlueRSA Swift cross-platform RSA wrapper library for RSA encryption and signing. Works on supported Apple platforms (using Security framework). Linux

Kitura 122 Dec 16, 2022
RSA public/private key encryption, private key signing and public key verification in Swift using the Swift Package Manager. Works on iOS, macOS, and Linux (work in progress).

BlueRSA Swift cross-platform RSA wrapper library for RSA encryption and signing. Works on supported Apple platforms (using Security framework). Linux

Kitura 122 Dec 16, 2022
A Swift wrapper around the CoreSymbolication private framework on macOS.

CoreSymbolication provides a very powerful system for looking up and extracting symbolic information from mach-o executables, dyld shared caches, and dSYMs.

Stacksift 7 Nov 21, 2022
A wrapper around UICollectionViewController enabling a declarative API around it's delegate methods using protocols.

Thunder Collection Thunder Collection is a useful framework which enables quick and easy creation of collection views in iOS using a declarative appro

3 SIDED CUBE 4 Nov 6, 2022