WWDC2018

Summary for iOS developers

Image courtesy of Matt Birchler, based on image by Apple inc
https://birchtree.me/blog/apple-developer-wallpaper/

What's new in Xcode 10:

  • An ability to launch XCTest and XCUITest in parallel, so you can run your test suite on multiple simulators at once. That reduces the test execution dramatically.

  • xcodebuild enhancements. For example, you can upload an app to App Store from the xcodebuild tool or run control the behavior of parallel testing.

  • Ability to create custom code snippets for any language and reuse them whenever needed.

  • Dark mode, which you can switch on from System Preferences. You can also switch your app in and out of Dark Mode while debugging or right in the Interface Builder.

  • Newly-created schemes are now shared by all users of an Xcode project.

  • Supports of multi-cursor editing in Source Editor, which allows you to quickly edit multiple lines of code simultaneously.

  • Default build system activation, where the new build system provides improved reliability and build performance, and it catches project configuration problems.

  • Source Control workflow enhancements. For example, integration with source code collaboration platforms (GitHub/GitHub Enterprise, Bitbucket Cloud/Bitbucket Server, GitLab/GitLab self-hosted), ability to resolve merge conflicts or create ssh keys directly from Xcode. Also, you’ll be pleased with the improved look of changes highlight with more in-depth information on the actual commit message.

  • Source Editor in Xcode 10 now supports an overscroll!

  • Code folding got dramatic improvements with an ability to fold almost anything. Also, using code folding ribbon it’s easier to do it via interface.

Resources for further learning

WWDC2018 Videos
designer and coder playing ping pong. Try Flawless!

Stop playing ping-pong with your designer!

Match the initial design with the final app right inside iOS simulator.

Try Flawless App

What's new in Swift 4.2:

  • Dynamic member look up to provide dot syntax for subscripts. That helps iOS developers to write type-safe code.

  • Random number generation and shuffling, when Swift 4.2 add a random API to the standard library.

  • Ability to check whether all elements in a Sequence satisfied a certain condition.

  • Conditional conformances improvements. For example, Swift 4.2 adds a default implementation for Equatable conditional conformance to an extension and implements dynamic queries of conditional conformances.

  • Hashable enhancements. With Swift 4.2 you can use newly introduced Hasher struct with convenient API to build your hash value in a more secure way.

  • Warning and error diagnostic directives. Embrace #warning and #error directives to add more explicit error/warning message to compiler output.

  • Boolean toggling. Simple but powerful function to toggle Bool value toggle() is now a part of Standard Library.

Resources for further learning

WWDC2018 Videos

What's new in Cocoa Touch:

  • Scroll performance improved. Data prefetch method now being executed serially instead of concurrently.

  • Memory performance. Automatic Backing Store which reduced Bytes Per Pixel amount depending on the images that needs to be rendered.

  • Improved structure for enums like UIApplicationState changing them to UIApplication.State to better represent the meaning.

  • String conversions functions (NSStringFromCGRect()...) now is accessible as codable. Also, these functions are now moved to NSCoder to better represent the end goals.

  • Notifications. Pre-defined set of actions for custom notifications is no longer static and could be defined programmatically.

  • An ability to bring your custom stickers pack to Messages and to Camera.

  • Automatic passwords and auto-fill.

Resources for further learning

WWDC2018 Videos

What's new in ARKit 2.0:

  • Support for a new USDZ file format to export 3D models and render them in AR.

  • AR objects browser for displaying 3D models and rendering the same 3D model in AR mode.

  • Real-world objects detection in AR with a new tracking configuration, ARObjectScanningConfiguration.

  • Objects detection with with the ARReferenceImage and ARReferenceObject classes.

  • Environment texturing for better lightning texture models.

  • Storing and sharing AR scenes with ARWorldMap class.

Resources for further learning

WWDC2018 Videos

What's new in iOS 12:

  • Siri Shortcuts, which are actions Siri can predict and provide to the user in places such as Spotlight search, Lock Screen etc.

  • HealthKit, which lets users share their medical history with your app.

  • New Network framework, that makes it easier to create network connections to send and receive data using transport and security protocols.

  • Updated Natural Language framework designed to provide high-performance, on-device APIs for fundamental NLP tasks.

  • Notifications improvements: grouping capabilities and ability to deep link directly into your app’s notification settings from an incoming one via providesAppNotificationSettings.

  • UIKit Additions: extended password autofill APIs, one time TFA codes, better Graphics Rendering.

Resources for further learning

WWDC2018 Videos