Xcode validation checks should consider settings inherited from config files

Number:rdar://20873320 Date Originated:08-May-2015 11:57 AM
Status:Open Resolved:
Product:Developer Tools Product Version:6.4 (6E14)
Classification:UI/Usabiltiy Reproducible:Always
Currently when a new version of Xcode encounters an older project file, certain validation tests are performed, and suggested remedies are presented for projects with settings that don't match Apple's recommendations.

The problem is a well-managed project might include settings that match Apple's recommendations but rather than being set explicitly on a project or target node, are instead inherited from a project or target base .xcconfig file. In this scenario, Xcode repeatedly nags about updating the project or target even though the desired setting already shines through.

The problem with allowing Xcode to simply set the desired settings on the project or target is it shuts down the ability to accurately control build settings from the centralized location in the .xcconfig file. For example I do set ONLY_ACTIVE_ARCH = YES for my Debug builds, but I want to retiain the ability to reliably flip that setting or any other from the .xcconfig file with confidence that it will have the intended impact. If I add the setting ot the project itself then I lose that centralized control.

Steps to Reproduce:
1. Open the attached ProjectWarningBug.xccodeproj in Xcode 6.4 or higher.
2. Build and run.

Expected Results:
Because the projects resolved settings DO meet the Xcode's standard guidelines, there should be no warning issued.

Actual Results:
A warning appears indicating that the project should be updated to "recommended settings." Clicking the warning yields the panel that will, if allowed, update the project by adding an explicit ONLY_ACTIVE_ARCH = YES setting ot the project itself.

Version 6.4 (6E14)



'ProjectWarningBug.zip' was successfully uploaded.


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!