Set up an iOS build configuration

Build Automation helps you automate the process of building your Unity Project for iOS devices. There are a number of prequisites for iOS development. Note that Apple processes and requirements do change over time, so it's best to refer to the Apple developer website should you encounter issues.

A note on the Apple Privacy Manifest

Apple is introducing a privacy policy for including privacy manifest files in new and updated applications targeted for iOS, iPadOS, tvOS, and visionOS platforms on the App Store.

The privacy manifest file PrivacyInfo.xcprivacy lists the types of data your Unity applications collect (or any third-party SDKs, packages, and plug-ins), and the reasons for using certain Required Reason API categories. Apple also requires that certain domains be declared as "tracking" and they may be blocked unless a user provides consent.

Important: If the use of the Required Reasons APIs by you or third-party SDKs isn’t declared in the privacy manifest, your application might be rejected by the App Store. For more information, visit Apple’s documentation on Required Reasons APIs.

Unity Build Automation does not collect data or engage in any data practices requiring disclosure in a privacy manifest file.

Xcode frameworks

If your iOS Project requires additional Xcode frameworks, use the PBXProject API to add those frameworks to the Xcode Project files created by Unity Build Automation.

For an example of a Unity Project that uses the API, see the UpdateXcodeProject example Project on GitHub. You can use the example to experiment and to learn from.

One of the plugins of the example Project is an external Xcode project manipulation DLL. The DLL is the build product of the source available in Unity’s Bitbucket repository. A preferred way to include Xcode project manipulation functionality is to copy the C# source code files to the Assets/Editor folder in your Project.

There are two ways to call this API to manipulate the Xcode project: