Skip to main content

What's New in Xcode 9

Xcode is the complete developer toolset used to create apps for Apple TV, Apple Watch, iPad, iPhone, and Mac. The Xcode development environment bundles the Instruments analysis tool, Simulator, and the OS frameworks in the form of tvOS SDKs, watchOS SDKs, iOS SDKs, and macOS SDKs.



Highlights of Xcode 9

Xcode 9 includes overall quality improvements as well as extensive new features.
  • All new editor. Fast, structure-based editor that lets you intelligently highlight and navigate your code. Includes great Markdown support.
  • Refactoring. Refactoring built right into the editing experience and works across Swift, Objective-C, Interface Builder, and many other file types.
  • Super-fast search. The Find navigator returns results instantly.
  • Debugging. Wirelessly debug iOS and tvOS devices over the network, new debuggers for Metal, and more features throughout Xcode.
  • Source Control. All new source control navigator and integrated support for GitHub accounts to quickly browse repositories and push them to the cloud.
  • Xcode Server built-in. Run continuous integration bots can be run on any Mac with Xcode 9, no need to install macOS Server.
  • New Playground templates. New iOS templates that are designed to run well in both Xcode and Swift Playgrounds on iPad.
  • New build system. An opt-in preview of Xcode's new build system provides improved reliability and performance.

Building and Linking

  • New in Xcode 9 – Swift static libary support.
    • Added support for static library targets that contain Swift code.
  • New in Xcode 9 – Preview of a new build system written in Swift. Currently, This system is optional but it will become the default in a future version of Xcode
    • Added a preview of a new build system written in Swift.
    • Provides higher reliability.
    • Catches many project configuration problems.
    • Improves overall build-system performance.
      Note, build system performance does not include the compilers, linkers, and other tools used by the build system.
    To opt into the new build system for a project or workspace, choose File > Project Settings or File > Workspace Settings, and then choose New Build System (Preview) for the Build System type. For notes on compatibility with existing projects, see the Xcode Release Notes.

Capabilities

  • New configurations for iOS hotspot and for Multipath TCP.
  • New network configurations, including content filtering, proxying DNS queries, and proxying TCP and UDP connections.
  • New background mode for watchOS for use with audio recording and turn-by-turn directions.
  • New mode for tvOS background fetch.

Core ML

  • New in Xcode 9 – Core ML editor.
    • Generate strongly typed interfaces for the model.
    • Model compilation for on-device usage.

Debugging

  • New in Xcode 9 – Network debugging for iOS and tvOS devices.
    • Debug iOS and tvOS devices over WiFi or wired networks.
    • Connect through Bonjour or enter an IP address.
    • To enable network debugging, see Pair a wireless device in Xcode Help.
  • New in Xcode 9 – GPU frame capture and GPU overrides.
    • View command buffers, attachments, resources, and call stacks.
    • Modify shaders and save changes to your app.
    • Move through the timeline for the sequence.
    • Inspect and modify values for individual pixels in attachments including color values, alpha, depth, and more.
    • Experiment with the rendering state without modifying code by minimizing texture bandwidth, minimizing number of rendered pixels, disabling the blending stage, showing only the wireframe, and scaling the amount of tessellation.
  • New in Xcode 9 – Undefined Behavior Sanitizer.
    • Find sources of program crashes, unexpected behaviors, and incompatibilities with future versions of Xcode.
    • Detect several types of undefined behaviors in C languages such as integer overflow, invalid casts, and alignment violations.
    Enable the Undefined Behavior Sanitizer in the Diagnostics pane of the scheme editor.
  • New in Xcode 9 – Main Thread Checker.
    • Detect AppKit, UIKit, and WebKit method calls that are not made on the main thread.
    Automatically enabled during debugging, and can be disabled in the Diagnostic tab of the scheme editor. Use the Main Thread Checker with Swift and C languages.
    Main Thread Checker works with Swift and C languages.
  • Enhanced the Breakpoint navigator with deep filtering.
  • Visual indicators for modified breakpoints.
  • Extended the view debugger to show view controllers, and to work with SceneKit and SpriteKit views.
  • Enhanced iOS energy gauge.

Documentation

  • New unified browser that integrates reference, sample code, and articles.
  • Improved documentation search.
  • New jump bar for navigating between pages.
  • Integrated sample code downloading.


Popular posts from this blog

Auto-layout Xcode 9 basic to advanced tutorial !

This tutorial has been updated to iOS 11, Xcode 9, and Swift 4 by Ryan Ackermann. The original tutorial was written by Matthijs Hollemans. Have you ever been frustrated trying to make your apps look good in both portrait and landscape orientation? Is making screen layouts that support both the iPhone and iPad driving you to the brink of madness?  Despair no longer, I bring you good news! Not only does Auto Layout make it easy to support different screen sizes in your apps, as a bonus it also makes internationalization almost trivial. You no longer have to make new nibs or storyboards for every language that you wish to support, and this includes right-to-left languages such as Hebrew or Arabic. In this Auto Layout tutorial, you’ll learn all about constraints and how to apply them! Auto what now? If you’re relatively new to iOS development, the phrase “Auto Layout” may be completely foreign to you. So what is it exactly? Well, in the beginning, Apple made only one scre...