🛠️Integration with iOS Renderer

Pre-requisites:

To integrate Avataar's renderer with your ios application, you will need the following equipment as a basic requirement:

  • Xcode - Apple's integrated development environment (IDE)

  • Ios version : 16 & above

  • Camera permission needs to be enabled

Installation :

Please follow the below steps to install the package in your ios application :

  • Add the following permission entry to your app's `Info.plist` file:

Key: `Privacy - Camera Usage Description`

Value: `$(PRODUCT_NAME) camera use`

  • Next , you need to go to “File” and click on “Add Package…”

  • Once the package is added, please search for the following URL and add the package by clicking on the ‘Add Package’ button at the bottom right corner.

https://github.com/SoulVisionCreations/avataar-gemini-castor-package

  • The package will be added to your application.

  • As a next step, please import the `GeminiCastorFramework` module into your Swift file by adding the below code snippet.

import GeminiCastorFramework

  • You now have to access GeminiView which is exported from the GeminiCastorFramework. Create an instance of the Gemini Renderer by calling `GeminiView()`. The `GeminiView` initializer takes two parameters:

Your token (generated on Avataar Apollo/shared by Avataar)

Config URL (generated when publishing an asset in Avataar Apollo Configurator)

Implementation :

Please follow the below steps to integrate Avataar's renderer with your iOS application:

1. Create a “NavigationView” and wrap the ‘’NavigationLink’’ package inside it.

2. Set the navigation style to stack:

.navigationViewStyle(.stack) <Important>

3. Add the below parameters to the ‘’NavigationLink’’ in order to navigate to the GeminiView,

NavigationLink(

"",

destination: GeminiView(token: yourToken, configURL : yourConfigURL),

isActive: $isActive

)

4. To enable or disable the view, toggle the `isActive` variable. By default, please set the “isActive” variable to false to avoid triggering the view on onload of the application.

Sample :

Here’s a sample of implementing the Renderer integration post installing the package.

import SwiftUI

import GeminiCastorFramework

struct ContentView: View {

let dummyToken = "your_token"

let configName = "your_config_name"

@State private var isActive = false

var body: some View {

NavigationView {

NavigationLink("",destination: GeminiView(token: dummyToken, configURL: configName),

isActive: $isActive

)

}

.navigationViewStyle(.stack)

}

}