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.
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.