Did you find this helpful? Why not support me to bring you even more content.
Click here to Buy Me a Coffee and say Thanks!

Xcode 11 – New Features and Changes

There is a whole bunch of new things and changes in Xcode 11, below is the bullet list notes I made whilst creating the podcast episode.

  • Editor Changes
    • Source Control History is now in the Inspector panel so it can be available to view for any file when ever you need it.
    • There is a new icon in the top left of the editor panel to enable you to create a new editor when you need it, you also have the option of creating them horizontally or vertically.
    • The Canvas preview is accessible from the new editor panel control in the top left, if a SwiftUI preview is available then it will be shown, however if there is nothing to preview then it will not be displayed even if selected to do so.
    • Canvas preview is only available in the new macOS Catalina.
    • The assistant view works the same way, if there is nothing to show then it will automatically be hidden for you.
    • You can hold down the option key when hovering over the new editor button to toggle the direction. This is a nice time saving shortcut.
    • Pro-tip Holding down option+shift when selecting a file in the project navigator brings up the destination chooser. This shows a blue highlight that you can manipulate to say where the file should open. This includes existing and a new editor anywhere you want. You can use the arrow keys or the mouse to select the destination.
    • Each editor can now be zoomed to take up the whole Xcode window and then reduced back to it’s previous position.
    • For source control users, which should be everyone right? There is a nice inline diff view that can show you as you work the changes compared to the previous commit.
    • There is now a Mac device view in the ‘View as’ panel, which makes it easy to work with specific design changes for the Mac version of your cross-platform application.
    • The devices bar now also has an easy switcher for viewing the light and dark modes on OS’ that support the feature.
  • New MiniMap View
    • // MARK: Will show in the source code as before, but now will also appear in the new mini-map view.
    • Holding down the CMD key on the mini-map gives you an overlay list of all the important areas in your document to help you navigate quickly.
    • The mini-map will even show issues like build failures test results, and break points this makes it useful for more than just a code overview.
    • The mini-map also shows other information, for example if you do a find it will highlight the find on the mini-map as well as the editor making it easier to see where the matches are.
  • Testing
    • Test plans have now been added to aid in creating better tests across the board.
    • You can now set conditions like network and thermal states to test for those conditions. A banner will appear on a device to indicate when that condition is being simulated.
    • Users can now opt in to send anonymized app performance Metrics that can be viewed in the organizer with the crash logs.
    • TestFlight will now give the user the ability to add comments and feedback directly. You can review the feedback in AppStore Connect.
  • Documentation
    • Documentation has been overhauled and made more documentation like in the editor. It has also been made smarter including tools to easily add and edit as you work.
    • If you have documentation in your code and you use the edit in scope tool, it will also update your documentation references as well as the code.
  • Simulator
    • You can use the Environment Overrides when using the simulator to change device scenarios on the fly, this can be found on the debug bar. You can change Light and dark modes, dynamic test size, and the accessibility options.
    • There is a new Apple Watch simulator so you can deploy direct to that rather than the iPhone simulator.
    • The simulator now runs on Metal giving a nice 60 frames per second and uses up to 90% less CPU. It also warm books 200% faster.
  • General Changes
    • Xcode 11 now has Swift package manager integration for all of Apple’s platforms.
    • Making an iPad app available on macOS starts with a simple checkbox and ensuring you support devices like larger screens, keyboards and auto-layout. Let Xcode do the hard work for you.
    • From there you can work on specific macOS features you want or need to support.
    • Assets can now be localized in the assets view along with adding custom symbols that support all the features of SF Symbols.