Xcode 7.3 autocomplete issues

I've got some issues with the new autocomplete of Xcode 7.3


When I import a class, the class won't show up in autocomplete.

Even more annoying, when an imported class contains a typedef NS_ENUM, the possible values won't show up either.

In both cases, when I manually enter the class name or enum value, that perticular value will show up the next time, but for the possible enum values, all other values still won't show.


Further, I've noticed the autocomplete isn't ordered (alphabetically) anymore.. So, for example, when I've got a class with initializers in the .h file:

-(instancetype)initWithServiceName:(NSString*)serviceName listenPort:(NSUInteger)listenPort keys:(NSArray*)keys;
-(instancetype)initWithServiceName:(NSString*)serviceName listenPort:(NSUInteger)listenPort keyFile:(NSString*)keyFile;

when I start typing "-(instancetype)init" in the .m file, the autocomplete will show the first initializer, followed by about 14 autocompletions that doesn't even relate to it by far and then (finally) the second initializer...


Is there a way to use 7.3 (or at least the SDKs within it) but switch back to the old (but very lovely, and working) autocomplete feature from 7.2?

Replies

Hybridizing your IDE is not recommended.


File bugs against the new tools and hope 7.3.1 lands soon.


At least you're not alone: https://forums.developer.apple.com/message/127276#127276

My productivity was hit so badly by this that I've simply reverted back to 7.2.1. What a waste of an upgrade to El Capitan. Apple, again, drain hours from my day.


Now to await the inevitable vitriol from KMT...

I seem to be having issues with auto-complete as well, but under different circumstances.


In my case, I have a workspace with 2 projects in it: One framework that I wrote that extends/complements the SpriteKit framework (with both a Mac and iOS target) and a game project (Mac target only) that uses the framework. Auto-complete was working fine, no complains from me as all of my custom classes in my framework were being seen. The moment I added an iOS target to the game app, auto-complete stopped working for the Mac target, but works just fine with the iOS target. (i.e., when I have the iOS scheme selected, auto-complete works fine. With the Mac target selected, auto-complete is blind to my framework's classes.)


I know that there are known issues with auto-complete in Xcode 7.3 but does anyone think that my circumstances are due to something else? A build configuration problem, perhaps?


Please note that I have tried the following: Cleaned all 4 targets, deleted derived data, removed and re-added my framework to my game app (first with the Mac game target, then with the iOS game target, then both) but nothing seems to fix the issue with auto-complete on my Mac game target.


Also note that the product names for my custom framework are the same (i.e. both the Mac and iOS framework product are called MyGameKit.framework) while the target names are different with a platform postfix (MyGameKit_Mac and MyGameKitiOS.) Same goes for the game apps for both targets.


Any comments would be appreciated. Thanks.

A fan - I like that, thanks 😉

I've had a very similar problem. In my workspace, which consists of a Mac app project and two framework projects (each with Mac and iOS targets), autocomplete of embedded framework types worked fine from the Mac app, but failed within the framework when the Mac framework scheme was selected.


I created a test workspace consisting of two framework projects, one having both iOS and Mac targets. The framework with two targets failed to autocomplete types from the framework with one Mac target. I was able to fix autocorrect by changing the iOS and Mac framework targets to have different names.


In my actual project, changing the names didn't work. Only after deleting the iOS targets was I able to make autocomplete work.

First off, my negitivity towards 7.3.x has to do with how badly it has effected my productivity. As in, COMPLETELY!!!! Onto a positive suggestion, wrapped in insults:


7.3.1 is out (has been out), and it finally looks like Apple has nerfed 7.2.1 for me... Can't build to device, so I'm back to the 7.3 autocomplete trainwreck.


I have a class "Brand", I type "[Brand", and the classname is notwhere to be seen in autocomplete. It got me thinking...


The new Autocomplete, while adding contains (which should be great), was not partnered with a good set of priority rules like:


- Starts with should be top of list

- Fully described (my case) MUST BE top of list

- after that, let all of the crazy suggestions follow.


This simple change, I believe, would GREATLY help 7.3 not **** so bad!

Pretty much agree - be sure to file those as bugs and add your report #(s) to this thread for reference, thanks.

I just wanted to post a small update. Since I've installed Xcode 8 (and now 8.2), I don't recall having very many auto-complete issues at all anymore. I'm curious to know if any of you have had their auto-correct issues resolved with Xcode 8.


ab@pr