I'm working as a software developer and have a project that I've taken over from an old colleague which is developed on a mac with OSX El Capitan. I'm having some problems updating Xcode to the newest version and from what I've read I have to install a more current version of the OS, so I've downloaded macOS High Sierra.

Before I go ahead and install it I just wanted to ask someone who has more experience with this to avoid losing anything important.

I've backed up the data using the Time Machine feature, I've done it twice just to check if it could and it looks like it works.

Is there anything special that I should be aware of about the OS in general & as a developer that affects the update process?

Is there any way to validate the backup just to make sure that nothing on it is corrupted?

Any information is appreciated.

  • If the project is written in objective-C and not with garbage collection then should be easy to port however if it is in Swift or with garbage collection then the code will need quite a bit of work.
    – mmmmmm
    Commented Nov 28, 2017 at 18:29

1 Answer 1


First off, why do you need to update beyond El Capitan? Yes, it will be end of life in a little less than a year, but if your concern is just getting started with the development project, you don't need to update macOS. A project built on Xcode 7.x and El Capitan will work just fine on (High) Sierra.

Putting that aside, yes, the latest Xcode will require the latest version of macOS. If you've done Time Machine backups of the box, then you shouldn't run into any issues with the OS and environment provided the backup is good (which you've indicated). For extra peace of mind, you could copy the project itself to an another disk or just make sure it is up-to-date with the source code repository (it IS in version control, right?!)

A project created with Xcode for El Capitan will (I believe) work without modifications on Xcode for High Sierra. However, you'll need to update the project for it to take advantage of the features of the newer OS / frameworks (e.g. something like Siri integration wouldn't be available without re-targeting the project to a newer framework version). Just be sure that if you're going to move to the newer version that you stay mindful of what minimum OS X / macOS version you want to support; you can easily lock out anything older than High Sierra which might not be your intention. In general, you want to support the minimum OSX version that has the features you need, so perhaps Mavericks (10.9) or Yosemite (10.10) would be a good starting point, but I'd probably just leave it as it was set by the previous developer.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .