Building for iOS/iPadOS
This guide will walk you through the process of installing Convai-powered Unity applications on iOS and iPadOS devices.
Prerequisites
Before you begin, make sure you have the following:
Unity 2022.3 or later
Xcode (latest version recommended)
Apple Developer account
Project with Convai's Unity SDK integrated and running properly
MacBook for building and deploying to iOS/iPadOS
Step 1: Prepare Your Unity Project
Open your Convai-powered Unity project.

Step 2: Configure Build Settings
In Unity, go to
File
→Build Settings
.Select
iOS
as the target platform.Click
Switch Platform
if it's not already selected.Check the
Development Build
option for testing purposes.

Step 3: Manually add Required Files
Add link.xml
Create a new file named
link.xml
in your project'sAssets
folder.Add the following content to the file:
<linker>
<assembly fullname="UnityEngine">
<type fullname="UnityEngine.Application" preserve="fields">
<property name="platform"/>
</type>
</assembly>
</linker>

This file prevents potential FileNotFoundException
errors related to the libgrpc_csharp_ext.x64.dylib
file.
Add BuildIos.cs Script
Create a new C# script in
Assets/Convai/Scripts
namediOSBuild.cs
.Add the following content to the script:
#if UNITY_EDITOR && UNITY_IOS
using System.IO;
using UnityEditor;
using UnityEditor.Callbacks;
using UnityEditor.iOS.Xcode;
using UnityEngine;
public class iOSBuild : MonoBehaviour
{
[PostProcessBuild]
public static void OnPostProcessBuild(BuildTarget target, string path)
{
string projectPath = PBXProject.GetPBXProjectPath(path);
PBXProject project = new PBXProject();
project.ReadFromString(File.ReadAllText(projectPath));
#if UNITY_2019_3_OR_NEWER
string targetGuid = project.GetUnityFrameworkTargetGuid();
#else
string targetGuid = project.TargetGuidByName(PBXProject.GetUnityTargetName());
#endif
project.AddFrameworkToProject(targetGuid, "libz.tbd", false);
project.SetBuildProperty(targetGuid, "ENABLE_BITCODE", "NO");
File.WriteAllText(projectPath, project.WriteToString());
}
}
#endif
Step 4: Install required gRPC dlls for iOS:
Go to Convai -> Custom Package Installer
Click on
Install iOS Build Package
Attach the script
iOSBuild.cs
to any GameObject in your scene.


Step 5: Build the Xcode Project
In Unity, go to
File
→Build Settings
.Click
Build
and choose a location to save your Xcode project.Wait for Unity to generate the Xcode project.
Step 6: Configure and Build in Xcode
Open the generated Xcode project.
In Xcode, select your project in the navigator.
Select your target under the "TARGETS" section.
Go to the "Signing & Capabilities" tab.
Ensure that "Automatically manage signing" is checked.
Select your Team from the dropdown (you need an Apple Developer account for this).
If needed, change the Bundle Identifier to a unique string.

Step 7: Build and Run
Connect your iOS device to your Mac.
In Xcode, select your connected device as the build target.
Click the "Play" button or press
Cmd + R
to build and run the app on your device.

Troubleshooting
If you encounter any build errors, ensure all the steps above have been followed correctly.
Check that your Apple Developer account has the necessary provisioning profiles and certificates.
If you face any GRPC-related issues, verify that the
libgrpc_csharp_ext.a
andlibgrpc.a
files are correctly placed in theAssets/Convai/Plugins/gRPC/Grpc.Core/runtime/ios
folder.

Last updated
Was this helpful?