KeyboardFuel

iOS Programming Blog

WWDC 2018 TL;DR — What’s New in Swift (4.2) — July 11, 2018

WWDC 2018 TL;DR — What’s New in Swift (4.2)

Action Items

  • Use the migrator to update your Swift code to 4.2
  • Update Swift 3 code because this is the last release to support compatibility with it.
  • Use Incremental Compilation Mode for Debug builds. Stop using Whole Module for Debug builds.
  • The main action item for this session is to read up on the improvements and changes to the SDK. Only a few are covered in the session, but most of the big ones can be explored in this playground: https://oleb.net/blog/2018/06/whats-new-in-swift-4-2-playground/.

Major Takeaways

  • Huge focus on developer productivity.
  • Massive effort on under the hood improvements and changes to the runtime towards the goal of binary compatibility.
  • Faster Swift Debug builds.
  • Made optimizations to the runtime, such as the way reference counting works to reduce the number of retain/release calls.
  • Xcode 10 is the final release to support Swift 3 compatibility mode.
  • Synthesized Equatable and Hashable Conformance.
  • Swift 5 coming in early 2019.
    • Binary compatibility with future Swift compiler releases.
    • Swift runtime will ship in the OS — will no longer need to be included in the app bundle.

 

WWDC 2018 TL;DR — What’s New in Cocoa Touch — June 27, 2018

WWDC 2018 TL;DR — What’s New in Cocoa Touch

Action Items

  • Implement pre-fetching in your table views and collection views.
  • Update to Swift 4.2 — should be able to be handled 100% by the converter tool.
  • Notifications for your app are grouped by default — if you need to customize the behavior of grouping, add a thread identifier to your push payload.
  • To support the new automatic passwords, tag your password fields as either an existing/login password field, or a new/sign-up password field.
  • Make sure you are using safe area insets.
  • Add support for Siri Shortcuts [overview given here — covered in-depth in other sessions].

Major Takeaways

  • Scroll performance is improved by default due to CPU improvements and changes to the pre-fetching implementation.
  • Reducing the amount of memory your app uses, especially avoiding requesting large chunks at once, can improve speed. If your app requests more memory than is currently designated as “free”, then the system needs to go free up some more memory from other apps in the background, which takes some time.
  • Auto-layout performance has been greatly improved — in several cases going from an exponential growth down to linear as more views are added.
  • Swift 4.2 has moved types, constants, and functions inside of the relevant classes.
  • Introduces a new API that allows you to deep link directly to your existing granular notification settings in the app from a notification.
  • Siri Shortcuts make it easy to get common actions out of your app and make them accessible via Siri [more coverage in other videos].
  • Siri now allows custom intents.
WWDC 2018 TL;DR — State of the Platform — June 26, 2018

WWDC 2018 TL;DR — State of the Platform

Action Items

  • App review will be paying closer attention to purpose strings when asking for user permissions. Your string should explain how you plan to use the data, be specific, and provide an example.
  • Use os_log for printing, and use os_signpost for measuring performance.
  • Turn on “randomize execution order” and “execute in parallel” for your unit tests.
  • If you already make use of NSUserActivity you can easily make it eligible for prediction by setting userActivity.isEligibleForPrediction = true.

Major Takeaways

  • The major theme this year was a focus on fundamentals across the ecosystem.
  • Swift 5 (next year) will be part of the OS, so apps will no longer need to include the swift runtime.
  • A great Siri Shortcut: accelerates a key capability of your app, is likely to be repeated, and can be handled inline in Siri.
  • ARKit 2 brings a bunch of cool new features: improved face tracking, image detection and tracking, 3D object detection, persistent experiences, shared experiences, and more.
WWDC 2018 TL;DR — Keynote — June 19, 2018

WWDC 2018 TL;DR — Keynote

Action Items

  • Explore possible use cases for Siri Shortcuts in your app.
  • If you have an ARKit app, or are interested in building one — there are a lot of new additions to learn this year with ARKit 2.
  • Most importantly, make your Memoji.

Major Takeaways

  • Introduced Siri Shortcuts — arbitrary actions that apps can take, triggered by a custom phrase set by the user.
  • Improved “Do Not Disturb” mode allows you to turn it on for a set amount of time, or until you leave your current location.
  • Notifications can now be grouped, and the user has more control over silencing pushes.
  • Introduced “Screen Time” — allows users to monitor how much time they are spending in different apps or app categories. Allows the user to set their own time limits, or set limits on family devices.
  • Added “Memoji” — basically a bitmoji that works the same as an Animoji.
  • FaceTime now supports up to 32 people on a call.
  • Apple Watch has a new walkie-talkie feature that is reminiscent of 2005 with all the chirping Nextel phones.
What’s up with colors in storyboards? — June 9, 2018
View Controller Containment — May 7, 2018