An iOS Framework that enables developers to capture videos 📹, photos 🌄, Live Photos 🎇, and GIFs 🎆 with ARKit content.
In other words, you NO LONGER have to screen record/screenshot to capture videos 📹 and photos 🌄 of your awesome ARKit apps!
Table of Contents | Description |
---|---|
Documentation | Describes the configuration options ARVideoKit offers |
Preview | Displays 2 GIF images captured using the supported gif method in ARVideoKit |
Key Features | Lists the key features ARVideoKit offers |
Compatibility | Describes the ARVideoKit device and iOS compatibality |
Example Projects | Explains how to run the example project provided in this repository |
Installation | Describes the Manual option to install ARVideoKit |
Implementation | Lists the steps needed for Objective-C & Swift, notes, and reference for more options |
Publishing to the App Store | Describes the steps required before submitting an application using ARVideoKit to the App Store. |
Donations will support me to keep maintaining ARVideoKit ❤️ |
|
Contributions | Describes how you can contribute to this project |
License | Describes ARVideoKit license |
AppCoda Tutorial | Check out a detailed tutorial about implementing ARVideoKit with SpriteKit |
👾 Initialized with SpriteKit👇 | 🚀 Initialized with SceneKit 👇 |
---|---|
✅ Capture Photos from ARSCNView
and ARSKView
✅ Capture Live Photos & GIFs from ARSCNView
and ARSKView
✅ Record Videos from ARSCNView
and ARSKView
✅ Pause/Resume video
✅ Allow device's Music playing in the background while recording a video
✅ Returns rendered and raw buffers in a protocol method for additional Image & Video processing
ARVideoKit
is compatible on iOS devices that support both ARKit
and Metal
. Check Apple's iOS Device Compatibility Reference for more information.
ARVideoKit
requires:
- iOS 11
- Swift 3.2 or higher
To try the example project, simply clone this repository and open the Examples
folder to choose between the Objective-C and Swift project files.
Drag the ARVideoKit.framework
file as an embedded binary of your project targets. ARVideoKit.framework
can be found in the /Framework Build/
folder of this repository.
Or you may drag ARVideoKit.xcodeproj
into your project and click the + button in the embedded binaries section of your project's target.
Click here to check the Swift implementation steps.
Click here to check the Objective-C implementation steps.
Make sure you add the usage description of the camera
, microphone
, and photo library
in the app's Info.plist
.
<key>NSCameraUsageDescription</key>
<string>AR Camera</string>
<key>NSPhotoLibraryAddUsageDescription</key>
<string>Export AR Media</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>Export AR Media</string>
<key>NSMicrophoneUsageDescription</key>
<string>Audiovisual Recording</string>
Check RecordAR
documentation for more options!
Before publishing to the App Store make sure to add the ARVideoKit License to your app licences list.
Additionally, if you are using the binary build from Framework Build
or the latest release, you MUST strip out the simulator architectures from the framework before pushing an application to the App Store.
To do so, follow those steps:
- Install Carthage
Download
Carthage.pkg
from here
Or install with Homebrew using this command
brew install carthage
- Go to your project target's
Build Phase
- Add a new
Run Script Phase
- Add the following command to the
Run Script Phase
/usr/local/bin/carthage copy-frameworks
- Finally, add
ARVideoKit.framework
file path as anInput File
. In my case, I have it in a folder namedFrameworks
inside my project folder
Donations will support me to keep maintining ARVideoKit Framework ❤️
If you have an idea for a new ARVideoKit feature/functionality and want to add it to this repository, feel free to fork the project and create a pull request!
Also, feel free to create an issue if you have any suggestions or need any help
Copyright 2017 Ahmed Fathi Bekhit, www.ahmedbekhit.com, [email protected]
ARVideoKit
is licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.