Should I use Xcode 9.0.1 given the bad reviews in the App Store
There are more 1 and 2 star reviews than 4 and 5 start reviews on the App Store. This is deeply disturbing. I don't want to add additional problems while trying to finishing my current project. In your opinion should I upgrade or continue with 8.3.3?
33 comments
[ 0.21 ms ] story [ 45.1 ms ] threadHowever, IMHO, if you have a commercial project with a deadline, don't take on board additional risk by installing it.
A lot of "project management" can be thought of as risk management. A risk is something that's hard to judge or unknown - e.g. will this developer finish on time? Is this implementation going to work?
Installing a new version of the dev tooling is definitely a risk. Think about it from the POV of risk management. Are there features of 9.x that you need to complete the project? What are the unknown parameters? It might not compile your code correctly? How do you mitigate it? Time? Money? Reverting back to a previous version? Some risks can be mitigated by the developer, some need to be passed upstream to the customer. e.g. "If you want to deploy on iOS11, we need to upgrade Xcode, which has documented issues, we expect this would require x hours to complete and have the following potential issues."
I still don't think most apps will make good use of the notch.
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-mix...
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)
You can always buy a used mac mini for $400 and slap it on there.
I really don’t understand Apple’s development tools strategy. In the old days, the “separation of concerns” that was Project Builder and Interface Builder with other developer apps and command-line tools, etc. made a lot of sense. Ever since they created the UI abomination that is Xcode 4.x and tried to shove every single thing into the same program, it’s been unstable and aggravating to use. And don’t let the 9.x version fool you; these are iTunes-style marketing versions, Xcode “9” represents AT BEST an Xcode 5.1.0.2beta3 level of usefulness.
Contrast with VSCode which is built with modern technologies. It has a much faster release pace, and is more stable and more responsive (despite being an Electron app!)
Xcode is also required for iOS development. I haven't used Xcode in a while. Are there aspects of Xcode that are only used in iOS that are better or more modern than those that are used only for MacOS?
The UI framework for building Mac apps (AppKit) was designed in the 90s. In ~2007 it was revamped for the original iPhone as UIKit, but crucially Apple never backported their modernization to the Mac. And even UIKit is starting to look outdated compared to modern innovations such as React Native.
So I don't envy the Xcode team, they are working with an old codebase and targeting an abandoned UI framework.
I'm sure if Apple could swallow its corporate pride and just fork VSCode, they could work miracles.
I currently have versions of 7/8/9, plus the current production release.
http://applehelpwriter.com/2012/11/29/stop-update-notificati...
A daily ceremony when build iOS apps is to carefully rule out Xcode flaking when any issue is presenting.
Far too often it's XCode.
I think things may have been better in XCode 4.x but it would still crash pretty often.
Thus, you can have multiple versions installed simply by having Xcode.app in a different directory or renamed. Just remember to set the active Xcode for command line usage via `xcode-select` (can verify via `xcodebuild -version`).
This is precisely for jumping between various GM and beta versions in case of issues and such. Downloading from the Mac App Store does not give you this control.
Finally, Xcode 9.0.1 has worked smoothly for us so far FWIW.
Most people don't vote at all (why?), but lots of people use AppStore rankings as a bug report. That's not how it works.
In my opinion, Xcode 9 has been great, simply great, solved all the problems of Xcode 8 for me, and it's now my favorite IDE.
Of course it has it's problems, but which IDE doesn't have them?