Skip to content

durul/wwdc2018

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Here's my complete list of features and updates I could learn, listen and find about iOS, tvOS, watchOS, MacOS, SDKs and developer tools that were announced at WWDC 2018. This year WWDC 2018 Focus is on performance improvements and deepening existing functionality.

The unofficial WWDC Mac app is good way to download the videos and keep track of what you've already watched.

Apple Platform SDK API Differences

Documentation Archive

Apple Developer Documentation

OSX → macOS 10.14 Mojave

https://www.apple.com/macos/mojave-preview/

  • Dark mode: Official Apple app and Xcode support

  • Dynamic desktop: desktop subtle changes throughout the day

  • Stacks: group files on your desktop

  • Finder Gallery View: carousel view of files with Automator actions avail from the sidebar

  • QuickLook: markup option, signatures and video trimming

  • ScreenShots: see a thumbnail in the bottom right corner. You can expand the preview by double-clicking on the thumbnail, an expanded menu, with new options so you can record video

  • Continuity Camera: ability to seamlessly sync messages and files, snap a picture on your iPhone from your computer, and then import that image directly into a piece of content on pages, numbers or keynote.

  • Apps: News, Stocks, Voice Memos, Home come with new and redesigned App Store

    • Microsoft Office 365, Adobe Lightroom CC, and Barebones BB Edit will go back Mac App Store
  • Group FaceTime: Users are able to drop in and out of videos call whenever they want

  • Security protections: on camera, microphone, mail, messages, and backups

  • Support for cross-platform applications in testing

  • Safari: social tracking blocking such as like, share, and comment sections

  • UIKit to the Mac: the new cross-platform frameworks will be available to third-party developers in 2019.

        “Are you merging macOS and iOS? No. We love the Mac”
    

iOS SDK

https://developer.apple.com/ios/

iOS 12.0 API Diffs

  • UserNotifications - new APIs for handling notifications
    • threadIdentifier. We use for creating own custom group notifications. If you do not set it, you see under the default group.
      • threadIdentifier = nil
    • summaryArgument. We can collect notifications under the same collect name.
      • summaryArgument = nil
    • summaryArgumentCount expresses the number of items that summary argument counts for in the summary.
      • summaryArgumentCount = 3
    • categorySummaryFormat : We can customize is the summary grouped content.
      • Two forms are allowed: %u and %@.
  • Dynamic notifications - Notification Content Extension UNNotificationContentExtension
    • notificationActions : We can access notificationActions as well as dynamically anywhere
    • Allows to UserInteraction touches notifications Image
    • Allows to delete action buttons from notification actions
    • performNotificationDefaultAction : Allows to launching application programmatically or custom control with Notification Content Extension
    • dismissNotificationContentExtension : Custom dismiss content extension view
    • Notification Management
      • Show notification settings under the app notification settings page
        • Deliver Quietly: These parameters show notifications only in the notification center, but notifications don’t display an alert and don’t appear on the lock screen and don’t make any sounds. But they are allowed to set a badge.
        • Turn Off...
    • Critical Alert notification: Critical notification will be delivered with sound and on screen, even if the Do not disturb mode is enable. You need to get special entitlement from Apple.
      • Remote notifications configuration:, add a critical: 1 property to the JSON payload
      • Local notifications configuration:, we need to configured content UNNotificationSound.defaultCritical
      • Override the notification volume : UNNotificationSound.defaultCriticalSound(withAudioVolume: 1.0)
  • UITableView:
    • automatic cell prefetching
    • data prefetching
  • Automatic Backing Store:
    • Save grayscale content for rich graphic content
    • UIView.draw()
    • UIGraphicsImageRenderer
    • UIGraphicsImageRendererFormat.range
  • % 50 memory usage decrease for Images
  • UILabel:
    • Uses %75 smaller backing store
  • new requestAuthorization options .provisional and .providesAppNotificationSettings
  • Coverage
    • xccov: it is a new command line tool. It helps to output formats (human-readable or JSON) more readable.
  • iPhone X gives safe areas in portrait and landscape mode
  • Cascade list: if Chinese first characters font does not have it, we say to use this character instead of it.
  • tableView.cellLayoutMarginsFollowReadableWidth = false. Previously, It was true
  • tableView.insetsContentViewsToSafeArea = false. Extending content View from edge to edge
  • Automatically generate a strong password: We can define a custom password rule for sing-in our app. UITextInputPasswordRules
  • INRelevantShortcut Expose Shortcuts to the Siri Watch Face
  • ASWebAuthenticationSession handle an OAuth login flow automatically. It publishes instead of the SFAuthenticationSession.
  • INPlayMediaIntent Allows us to create Shortcuts to play audio and video content
  • Automatic 2-factor authentication SMS codes input in the UITextfield

watchOS SDK

https://developer.apple.com/watchos/

  • Auto Scaling option for incomplete Assets
  • Interactive Notifications
  • New text styles for Fonts
  • Siri Shortcuts
    • WKRelevantShortcutRefreshBackgroundTask : Updating your shortcuts and refresh data
  • New workout builder API
    • recoverActiveWorkoutSession() : Automatic relaunch after crash than session and builder restore
  • New Background Mode for Audio
  • Notifications
    • Group notifications
    • Quiet notifications
    • Critical alert notifications
    • Interactive notifications

tvOS SDK

https://developer.apple.com/tvos/

  • Password AutoFill
  • Focus Engine enhancements UIFocusUpdateContext
    • IUIFocusItemContainer interface,
    • UIFocusMovementHint class,
    • IUIFocusItemScrollableContainer interface.
  • Text Scrolling
    • label.enablesMarqueeWhenAncestorFocused = true
  • TVUIKit
    • TVPosterView
    • TVCaptionButtonView
    • TVCardView
    • TVMonogramView
    • TVLockupView
  • TVDigitEntryViewController

iOS 12

https://www.apple.com/ios/ios-12-preview/

  • App Store Connect app: replacement for the existing iTunes Connect app
  • iOS 12 adds multi-user Face ID with support for up to two faces
  • Do Not Disturb: Good morning screen & During Bedtime
  • Doubling down on performance
  • 50% faster keyboard display
  • 2x faster app launching, share sheets
  • AR
    • New App: Measure
    • Apple, Pixar and Adobe back a standardized AR file format USDZ
    • Apple unveils ARKit 2
  • Photos
    • The app has updated search for events, locations and people. Also, we can use multiple search parameters.
    • Send photos to your friends, also send back any photos they have that are from the same event, time, or location
  • Siri Shortcuts
    • Create custom voice commands with Siri that can connect with any app.
    • User can create own activation text
  • Apps: New News, New Stocks, Voice Memos
  • CarPlay: 3rd party navigation apps will work with CarPlay
  • Automatic Passwords
  • Security code AutoFill: this allow the mobile device to scan incoming SMS messages for such codes and suggest them at the top of the default keyboard.
  • Third time books app name is changed. The new name is Apple Books
  • Notification Center: 
    • Group Notifications
    • Interaction
    • Settings
  • Screen Time: personalized usage analytics
  • Parents can manage child device remotely
  • Memoji: Next level of enimoji with tongue detection
  • Connections: FaceTime can GroupCall with 32 people in a single call, biggest update of FaceTime
  • Core ML 2
  • Safari
  • More Battery info details
  • 70% faster camera snap
  • RAW photo editing

watchOS 5

http://www.apple.com/watchos-preview/

  • watchOS 5 won’t support first generation Apple Watches
  • Activity competitions and awards
  • New workout types: yoga, cadence and hiking
  • Running: rolling mile pace, steps per minute or cadence
  • Webkit support, reader mode
  • Podcasts
  • GymKit integration with GymDevice and Apple Watch
  • Air quality complication
  • Automatic workout detection
  • Student ID card on watch
  • Walkie-Talkie app
  • No longer need to say "hey siri" when raising wrist
  • Siri: watch face shows directions at the appropriate times of the day and provides shortcuts to functions like directions from CityMapper.
    • Notifications interactive controls available from within them for third-party apps
  • Customizable Control Center
  • Third-party apps ( nike & yelp ) will come to the watch face too.
  • New Notification Interface: There are two interfaces for Notification. Dynamic Interface and Interactive Interface. Dynamic Interface is for previous version watchOS Notification support.
  • We can add GestureRecognizer to watchOS Notification
  • New background modes: Audio
  • Notification delivered with varying level of urgency
  • View web pages and HTML messages from Mail and Messages
  • Rainbow: Pride edition watch band and face

tvOS

https://www.apple.com/apple-tv-4k/

  • Dolby Atmos and 4K HDR support
  • TV App has live news
  • 3rd party remote support: Crestron and Savant can control your Apple TV, including using Siri for voice search and control.
  • Aerial screen saver from ISS
  • Zero Sign-On: Automatically unlocks access to all the video-streaming apps that you’ve subscribed to.
  • Charter Spectrum partnership

Swift 4.2

You can follow up all the changes in this version or future version on the official Swift CHANGELOG

Design

Apple Developer Portal

  • Apple has announced API to talk to both Apple Developer portal and iTunes Connect. Apple has also combined Apple Developer Portal and iTunes Connect.
  • ITMS Transporter has been used for uploading apps to App Store. Now, Transporter has been supported on Linux.
  • TestFlight Public Links
  • AppStore Connect REST API
    • Manage TestFlight, Profiles, Certificates, Apps, Devices
    • Use of JWT for authentication
    • Support for auth tokens for iTunes transporter
    • Error handling
  • You are able to create and manage certificates & provisioning profiles as you do with Fastlane match.

Xcode 10

https://developer.apple.com/xcode/

  • Multiple source compatibility continue Swift 4 / 4.2 and 3
  • Some API changes will land in later Xcode 10 betas
  • Complication Mode DEBUG must be incremental
  • Exclusive access to memory must be Full Enforcement (Run-time Checks in All Builds)
  • Integration: BitBucket and GitLab
  • New code snippets tool can accessible from Xcode Editor menu
  • Run the XCTest in the command line using the xcodebuild tool
  • Parallel testing by creating clones of the simulators. Clones delete automatically. Also Unit & UI parallel testing is available on iOS. Unit parallel testing is available on macOS.
    • $ xcodebuild -project Demo.xcodeproj/ -scheme Demo -destination 'platform=iOS Simulator,OS=12.0,name=iPhone 7' clean build test CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO -parallel-testing-worker-count 4
  • Add specific test target
  • Viewing results in the test log and test report
  • Upload App to App Store with the xcodebuild tool
  • Notarized App: Apple will stamp the app before uploading to App Store. We have to upload an app to be notarized by Apple.
    • $ xcodebuild -exportNotarizedApp -archivePath <xcarchivepath> -exportPath <destinationpath>
  • New shortcut: Select target device or simulator by CTRL+SHIFT+0
  • Multi-Line Editing
  • View as: Dark Appearance or System Appearance
  • New color option in the action menu
  • Create a SSH Key and upload them directly server accounts
  • New playground interaction: Add new lines of code and playground is able to auto restart to playground session and continue running it.
  • Bounded String Pseudolanguage: Showing potential tripping and truncation issue with special character
  • You can use #warning instead of // TODO:
  • Timing Summary: Build with Timing summary
    • $ xcodebuild -showBuildTimingSummary
  • New Xcode Localization catalog .xcloc extension, It is a new type of localization artifact
    • Xcode Localization catalog import $ xcodebuild -importLocalizations -project <projectname> -localizationPath </path/to/ language.xcloc>
    • XLIFF file import $ xcodebuild -importLocalizations -project <projectname> -localizationPath </path/to/ language.xliff>
  • .intentdefinition extension, allows the localize Siri Shortcuts

Developer Tool

  • Custom Instruments Template
  • New logging API for finding memory issue os_signpost. This will help Instrument for finding to the problem.
    • Signposts appear in the Instruments
    • We can install Custom Templates in the Instruments
  • Debug your view hierarchy by using po yourView.value(forKey: "recursiveDescription”)!
  • Dump: print all swift objects and struct properties.
    • (lldb) expr dump(.....)

Apple Design Award Winners 2018

App Store Review Guidelines Diff

WWDC 2018 Edition

SiriKit

WWDC 2018 Videos

WWDC 2018 video downloader script

Featured

App Frameworks

Distribution

Developer Tools

Media

Graphics and Games

System Frameworks

Design

WWDC Students

WWDC scholarship entrants from each year

Blogs/Newsletter

Indie iOS Focus Weekly 177

About

You read my developer triceraptus migration notes from dub dub dc 2018

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published