3 ms·
It’s extremely buggy. Downright broken at times. On a reasonably large project, autocompletion goes broken more often than not; jump to definition is broken bey
by LeoNatan25 9y ago
It’s extremely buggy. Downright broken at times. On a reasonably large project, autocompletion goes broken more often than not; jump to definition is broken beyond recognition. It’s just in line with the rest of what Apple has put up this year as “exciting” software; iOS 11, macOS High Sierra and Xcode 9. Really a shameful display.
- LeoNatan25 9y agoThat said, you don’t really have a choice if you want to support iPhone X, which you should.
- blackguardx 9y agoAll 64 bit apps are supported by iPhone X. You only need to upgrade to XCode 9 if you want a custom layout for the black band or whatever people are calling it. I'm sure many companies will update their apps, but I can't imagine the experience will be that much better in most cases.
- _fzslm 9y agoSince the aspect ratio of the iPhone X is also taller, running unoptimised apps on the X will be a pretty bad experience - just as running iPhone 4 style apps on the iPhone 5 was a pretty bad experience.
- blackguardx 9y agoIs it a different size class than iPhone 8? I guess it depends on your autolayout setup. I still don't think most apps will make good use of the notch.
- saltypal 9y agoWe had a similar experience. This article [1] was an absolute godsend. Autocomplete is working again and it is, as billed, a bit more reliable and snappier. I hope this helps you. That said, it's absolutely ludicrous that fixing autocomplete is this difficult and involved. I would much rather see the Xcode team put their efforts towards building a great command-line toolchain and compiler daemon, and let the community plug it into various editors. [1]: https://miqu.me/blog/2017/06/16/fixing-autocompletion-on-mixed-objective-c-and-swift-projects/ https://miqu.me/blog/2017/06/16/fixing-autocompletion-on-mix...
- xenadu02 9y agoThe ShowDVTDebugMenu setting no longer works for public releases. Run "defaults write com.apple.dt.Xcode IDESourceKitServiceLogLevel 3" then clean your project and allow it to re-index. The log will be written to /tmp. Locate the failing invocations in the log. Copy and paste them to terminal and run manually (in some cases you may need to substitute libclang for clang, etc). You should see the full error output. The majority of autocomplete/indexer failures are actually sloppy includes, bad module maps, and other errors where the build system or compiler is more forgiving of the bad input. In some cases switching to the new build system will expose the errors. * Make sure your includes are correct (frameworks should be using angle brackets and include the framework name). * Make sure you don't have non-modular headers in modules (CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES = NO). * Make sure you aren't relying on implicit imports, eg: If a header references CGSize make sure you're importing <Foundation/Foundation.h>. If using uint8_t, import <stdint.h>. Sometimes you can get away with being sloppy here and build but it still breaks the indexer. * Make sure you have clean well-defined module maps. Use explicit @import syntax in Objective-C - you might find that your module map was broken (Swift requires modular frameworks)