Unity uses Xcode to build iOS applications so it’s useful to understand the build process and how Unity interacts with Xcode. To configure most aspects of the final build, you can use Player Settings and other Unity windows, however for more control, Unity must build an Xcode project and you must modify Xcode project files directly.
libGameAssembly.a
and il2cpp.a
.If you build a project in a directory that already contains another Xcode project, Unity displays an alert and gives you a choice on how to proceed. There are two options
Data
and Libraries
subdirectories. It then fills these directories with newly generated Xcode project content. Unity then updates the Xcode project file according to the latest Unity project changes. Unity only supports this mode for the existing Xcode projects generated with the same Unity iOS version.Note: If you use Append mode, you can store custom native code in the Classes
subfolder. Unity won’t overwrite them, but it’s best practice to make regular backups.
Unity uses the incremental build pipeline when it generates the Xcode project for iOS. This means that Unity incrementally builds/generates files such as Information Property List (plist) files and Entitlement files. If you implement callbacks that modify or move any iOS file or asset that the incremental build pipeline uses, see Creating non-incremental builds.