Most wanted Xcode features…

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.

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, get 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..

From the following thread, the wish to have indent guides in Codes to more easily catch the code structure:
https://developer.apple.com/forums/thread/105900
and details here
https://stackoverflow.com/questions/9167825/show-indent-guide-lines-in-xcode

Wanted Feature : Have the option to show permanent indent guides in Xcode files.

Pain point: sometimes there are sections of code where multiple levels of curly braces are open and it gets messy without any indent guides.

Feasibility: That's nearly done with option-hover over a section of code, but that's local and temporary. But this shows all the basic are there to do it, "just" a display issue.
Wanted Feature : Have IBOutlet collections for MacOS apps.

Pain point: When we have a list of repetitive objects (for instance a series of button), one cannot loop through the list but needs to call each object individually.

Feasibility: Exists for iOS.
Wanted Feature : Get better information about incompatibility between XCode and device.

Pain point: Frequent question on the forum about compatibility of such version of Xcode with a version of iOS on attached device. This highlights that alert message from Xcode should provide more precise and helpful information about the incompatibility.

Feasibility: Simply a need for more explicit message.
Wanted Feature : Get practical way to update an old project to open in recent version of Xcode.

Pain point:  When trying to open an old project with a recent version of Xcode, one get a message to update from Swift x -> Swift y, using and older Xcode. Problem is that the needed old Xcode may not run with the MacOS version. I noted in several occasions, that I just needed to set the version of Swift in project Build settings 'Swift Language version' from unknown to Swift 5 for instance. Then on opening, automatic conversion was proposed, without need to launch ancestral version of Xcode.

Feasibility: Simply a need for better message and advice.

Wanted Feature : Allow to insert pictures in Xcode text files.

Pain point: When writing code, it would be often useful to include a graphics or a picture in the comments (such as a func header). For instance, when dealing with trigonometric computation, a picture allows to precisely describe what each numeric value is. Presently, one need to keep in a separate file and reference it in the comment.

Feasibility: That has been recently done in the Forum. Submitted as FB9182929

Wanted Feature : Allow to edit a subView in a VC as an independent view.

Pain point: In some cases, we may have several subviews in a VC that overlap (they are hidden / unhidden by code depending on conditions). It is then a bit tedious to modify their content or internal constraints because of this overlap. We can of course create a view nib, but that is not always the preferred solution. It would thus be helpful to edit the subview in a temporary hud window (as for setting IBOutlets or IBActions).

Feasibility: That's what is done to edit Outlet properties, actions, …

Wanted Feature : Get the list of systemImages in line.

Pain point: When selecting a systemImage in code (UIImage(systemNam:), one need to go to storyboard and search in the list. It would be convenient to be able to do this directly in code, aka autocompletion.

Feasibility: Same principle as in storyboard.

Point 2 : Wanted Feature : Automatic/1-button icon is now available in Xcode 14. Let's be confident for the other wanted features.

Most wanted Xcode features…
 
 
Q