Version: 2018.2 (switch to 2018.1 or 2017.4)
iOS account setup
Structure of a Unity XCode Project
Other Versions

Inside the iOS build process

Editor Based Building and Running

The iPhone/iPad application buildThe process of compiling your project into a format that is ready to run on a specific platform or platforms. More info
See in Glossary
process is a two step process:

  1. XCode project is generated by Unity with all the required libraries, precompiled .NET code and serialized assetsAny media or data that can be used in your game or project. An asset may come from a file created outside of Unity, such as a 3D model, an audio file or an image. You can also create some asset types in Unity, such as an Animator Controller, an Audio Mixer or a Render Texture. More info
    See in Glossary
  2. XCode project is built by XCode and deployed and run on the actual device.

When “Build” is hit on “Build settings” dialog only the first step is accomplished. Hitting “Build and Run” performs both steps. If in the project save dialog the user selects an already existing folder an alert is displayed. Currently there are two XCode project generation modes to select:

  • replace - all the files from target folder are removed and the new content is generated
  • append - the “Data”, “Libraries” and project root folder are cleaned and filled with newly generated content. The XCode project file is updated according to the latest Unity project changes. XCode project “Classes” subfolder could be considered as safe place to place custom native code, but making regular backups is recommended. Append mode is supported only for the existing XCode projects generated with the same Unity iOSApple’s mobile operating system. More info
    See in Glossary

If Cmd+B is hit then the automatic build and run process is invoked and the latest used folder is assumed as the build target. In this case append mode is assumed as default.

Note: Step one above can be performed on a PC or a Mac. Only a Mac can perform Step two. This means to get a Unity project running on an iDevice you will need to have a Mac.

Command Line Building

Once Unity has been used to build the XCode project it is possible to perform the build and run from the command line. After the editor has built the XCode project do the following from the terminal:

unity$ xcodebuild test -destination "platform=iOS,id=400d20d00baf8d4997b47be0416cf5c44dd2d3bc" -scheme Unity-iPhone

Note that 400d20d00baf8d4997b47be0416cf5c44dd2d3bc in the command line example above is the ID of the iDevice that will run the project. You will need to determine your device ID using the Window->Devices menu in XCode.

Did you find this page useful? Please give it a rating:

iOS account setup
Structure of a Unity XCode Project