Changing main interface file should update appropriate Info.plist key

Originator:jalkut
Number:rdar://20954053 Date Originated:14-May-2015 08:53 AM
Status:Open Resolved:
Product:Developer Tools Product Version:6.4 (6E14)
Classification:UI/Usability Reproducible:Always
 
Summary:
Since Xcode unified the specification of a main storyboard or main nib file into a single "Main Interface" text field under the "General" tab of a project's settings, it is no longer possible through the General tab's UI to change either from a nib-based project to a storyboard-based project, or vice-versa. After changing the value of "Main Interface" to a suitable storyboard file name, one must then determine the need (perhaps after great psychological distress ;) ) and then manually edit the Info.plist entries to update NSMainNibFile or UIMainStoryboardFile to the appropriate value.

It may well be impossible to catch 100% of the cases of changing from nib to storyboard or vice-versa, but a nice nuance that would catch most cases would be:

1. Pay attention to changes to "Main Interface"
2. If the value changes to a file name that is not among the target's bundled resources, do nothing.
3. If the value changes to a file name that IS among the target's bundled resources, deduce from the file's extension whether the Info.plist key for storyboard of nib file should be used, and set the exclusive value as expected.

Thus if you had a file called "MainMenu.nib" and a file called "MainStoryboard.storyboard", changing the name of "Main Interface" to "MainStoryboard" would ensure that the desired Info.plist key is set.

Steps to Reproduce:


Expected Results:


Actual Results:


Version:
Version 6.4 (6E14)

Notes:


Configuration:


Attachments:

Comments


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!