iOS, "Development Mode" versus "Debug Build"

If you’re making an iOS project, here in Unity3D you can select “Development Build”

7208-dev.jpg

Whereas, over in XCode,

Select Product menu and then Edit Scheme. Select Run, and for build configuration, you can choose either Release or Debug. So that’s how you make a “Debug Build” in XCode.

In fact, how are these two related ? When you select Development Build in Unity3D, will that in fact force XCode to use “Debug Build” ?

When fooling with eg. GameCenter, you need to use the Sandboxed mode and (as I understand it!) this means you must use a Debug Build in XCode. (Although these matters change rapidly and fancifully.)

So indeed, in a word does “Development Build” feature in Unity (upper image here) essentially force through to having XCode use a Debug Build (and indeed the sandbox, and so on).

If anyone can clear this up, thanks !

(Note - obviously I could “try this” but there are so many settings, counter-defaults, meta-choices and so on in XCode, it’s difficult to know if you’re getting “normal” behaviour. Currently I seem to be stuck in a mode where, no matter what settings in Unity, resulting XCode projects default to “Debug” Build Configuration (Run) in all cases!)

Development build doesn’t relate to debug/release but provides live linking to profiler. I think the output pane in XCode also provides more context as to the location of a crash - i.e. providing script function and line numbers where the crash occurs in scripts.

There’s some detail here:

If you just debug in Xcode you’ll get a debug build and profiler will default to release. For publishing an iOS drop on say TestFlightApp then I always archive the build and then deploy it from organiser, but I order to do so you need to set the release build profile to use your adhoc deployment profile.