views:

909

answers:

1

What is the difference between these 2 options under the Project menu drop-down? Normally I just adjusted things in the Project Settings (which adjusts the info.plist, right?).

Today I needed to change the name of my project. Initially i changed the Product_Name from the Edit Project Settings -> Build window. But that didnt change the name.

Then I tried changing the the Product_Name from the Edit Active Target -> Build window, and that seemed to do the trick.

So again, what's the difference? XCode never fails to confuse me just when im beginning to think i have it all figured out! Argh!!!

+7  A: 

Project settings apply to all targets in your project. Target settings apply only to that specific target. You likely have only a single target which can make the two sets of settings confusing and appear redundant.

If a setting is set (appears in bold) for both the project and a target, the target setting overrides the project setting.

Target settings which aren't set (do not appear in bold) are inherited from the project settings. Project settings which aren't set (do not appear in bold) are inherited from Xcode's default settings.

If a setting (either project or target) is set (appears in bold) and you instead want to inherit that setting, select the setting and press Delete.

I suggest you prefer using the target settings. Use the project settings for larger, multi-target projects where you really do want to share settings across targets.

Jon-Eric
Makes perfect sense to me. Thanks!
Edward An
Ok, here's another one that's related: Whats the difference between Active Target and active Executable?
Edward An
Hi Edward, happy to help. If you're satisfied with my answer could you please mark it as the accepted answer? Please ask your related question as a separate, new question. You'll get much higher quality answers that way.
Jon-Eric