I propose that we collectively build a list of most wanted XCode features. Those pain points that do make our life more difficult with XCode or less fun.
The goal would not be to have a scientifically correct ranking of all those, but simply:
- make visible many ideas that have probably been reported in improvement requests
- expose in short why that would be a great evolution, what pain point it would solve (functional improvements, not bugs correction)
- if possible, discuss the feasibility of each idea.
I would agree to update this original post to include new inputs.
To avoid a thread where new posts get smaller and smaller in width, would be great to post each new idea as an answer to this original post. Of course discuss an idea as a reply to this idea post itself.
Rule of the game would be tolerance, not trying to argue indefinitely on one idea. And be concise in wanted feature description
The ultimate goal would be to influence positively XCode development team to consider the most wanted proposals.
At least, have them explain us that one wanted feature in on the way (let's dream), why such idea is not so great, or why it would be too complex to implement…
_________________________________
Here is a first wanted feature, inspired from a thread in IB forum: https://forums.developer.apple.com/thread/72495
Wanted Feature : Storyboard zoom when editing macOS app
Pain point: makes navigating in MacOS storyboard extremely painful if more than a few windows. Does limit the use of storyboards for MacOS App. The IB post was seen more than 7500 times, so that seems a largely shared concern.
Feasibility: done for iOS, so should be possible for MacOS.
_________________________________
Wanted Feature : Automatic/1-button icon, logo, screenshot, launch image generation for all project related devices/screens as mandated by ASC. Current with each new release.
Pain point: The number of individually required image-based assets involved for meta data submittals became a burden long ago and continues to require significant labor to suss and satisfy.
Feasibility: Xcode already does some of this w/launchStoryboards for new Swift projects, it just needs to be ubiquitous for all similar assets. It's just scripting/image resizing, which should not be a problem on macOS. Yes, I know there are 3rd party tools that help, but they seem to not keep up w/new devices/screen sizes - if they can do it, so can Xcode.
_________________________________
Wanted Feature : More explicit help message when an action cannot be completed in IB
Pain point: When XCode cannot complete an action (e.g., create an IBOutlet for an IB object), option-cleaning the build folder solves the problem. Numerous issues reported on the forum were solved with this simple action. However, messages from IDE never mention this solution.
Feasibility: Just adding (when appropriate) a suggestion in the message.
_________________________________
Wanted Feature : When build fails, propose automatic correction action whenever possible
Pain point: As an example, if some asset contains Finder information, a build error occurs, with message "resource fork, Finder information, or similar detritus not allowed Command /usr/bin/codesign failed with exit code 1". One has to go to Terminal, use xattr command and clean laboriously the offending files.
Feasibility: As XCode has detected the files, it could propose to do the cleaning itself…- if it can be done with terminal command, so can Xcode.
_________________________________
Wanted Feature : When an API is deprecated, get information on how to replace.
Pain point: Most often, when an API is deprecated and we get a warning from compiler, we get no hint on how to replace. Thus, requiring to post on forum (a lot of posts relate to this search for information), search on web to find some hints… At the end losing time and not being sure to make the best decision.
Feasibility: Those who deprecated API for sure know how to handle this. Should be (relatively) easy to provide information in doc, and in the deprecation message.
_________________________________
Wanted Feature : When a string is missing for an infoPlist key, give a warning.
Pain point: If the required key is missing, app will crash (or be rejected at Appstore verification stage which is a minor harm). I had the case where I called imagePicker, but intended to use only photo, not video. But if user taps on video, that caused a crash.
Feasibility: When UIImagePickerControllerDelegate is used, compiler could check that infoPlist is defined for the required keys..
_________________________________
All comments welcomed.