What's New in Cocoa Touch
Transcript of What's New in Cocoa Touch
![Page 1: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/1.jpg)
© 2016 Apple Inc. All rights reserved. Redistribution or public display not permitted without written permission from Apple.
App Frameworks #WWDC16
Session 205
What’s New in Cocoa Touch
Olivier Gutknecht Senior Engineering Manager, UIKit
![Page 2: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/2.jpg)
What’s New in Cocoa Touch
![Page 3: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/3.jpg)
What’s New in Cocoa Touch
![Page 4: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/4.jpg)
What’s Not New in Cocoa Touch
![Page 5: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/5.jpg)
Since Last Year
![Page 6: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/6.jpg)
Since Last Year
3D Touch
![Page 7: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/7.jpg)
Since Last Year
3D TouchiPad Pro
![Page 8: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/8.jpg)
Since Last Year
3D TouchiPad ProApple Pencil
![Page 9: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/9.jpg)
Since Last Year
3D TouchiPad ProApple PencilSmart Keyboard
![Page 10: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/10.jpg)
Adaptivity
![Page 11: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/11.jpg)
Adaptivity
UIUserInterfaceSizeClass.compact
![Page 12: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/12.jpg)
Adaptivity
UIUserInterfaceSizeClass.regular
![Page 13: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/13.jpg)
Adaptivity
UIUserInterfaceSizeClass.gigantic
![Page 14: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/14.jpg)
Adaptivity
UIUserInterfaceSizeClass.gigantic
![Page 15: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/15.jpg)
Adaptivity
UIUserInterfaceSizeClass.gigantic
![Page 16: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/16.jpg)
Adaptivity
UIUserInterfaceSizeClass.gigantic
![Page 17: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/17.jpg)
Making Apps Adaptive
TraitsSize ClassesSize-based layouts
The fundamentals
Aa
![Page 18: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/18.jpg)
Making Apps AdaptiveInterface Builder
![Page 19: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/19.jpg)
Making Apps Adaptive
Auto LayoutDynamic TypeLayout GuidesUIAppearance Asset Catalogs
Tools and Techniques
![Page 20: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/20.jpg)
Making Apps Adaptive
Making Apps Adaptive, Part I Presidio Thursday 11:00AM
Making Apps Adaptive, Part II Presidio Friday 9:00AM
Inclusive App Design Pacific Heights Tuesday 10:00AM
PART 1 PART 2
Aa
![Page 21: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/21.jpg)
Advanced Touch Input
![Page 22: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/22.jpg)
Advanced Touch Input
120 Hz touch scanning on iPad Air 2 and iPad Pro
![Page 23: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/23.jpg)
Advanced Touch Input
120 Hz touch scanning on iPad Air 2 and iPad ProOrientation, Precise Location, Force, and 240 Hz scanning with Apple Pencil
![Page 24: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/24.jpg)
Advanced Touch Input
120 Hz touch scanning on iPad Air 2 and iPad ProOrientation, Precise Location, Force, and 240 Hz scanning with Apple Pencil Force on iPhone with 3D Touch
![Page 25: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/25.jpg)
Advanced Touch Input
120 Hz touch scanning on iPad Air 2 and iPad ProOrientation, Precise Location, Force, and 240 Hz scanning with Apple Pencil Force on iPhone with 3D Touch New APIs in iOS 9 & iOS 9.1
![Page 26: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/26.jpg)
Advanced Touch Input
120 Hz touch scanning on iPad Air 2 and iPad ProOrientation, Precise Location, Force, and 240 Hz scanning with Apple Pencil Force on iPhone with 3D Touch New APIs in iOS 9 & iOS 9.1
Leveraging Touch Input on iOS Presidio Thursday 9:45AM
![Page 27: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/27.jpg)
Keyboard Support
![Page 28: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/28.jpg)
Keyboard Support
Keyboard shortcuts
![Page 29: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/29.jpg)
Keyboard Support
Keyboard shortcutsDynamic, context-sensitive
![Page 30: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/30.jpg)
// Keyboard Support: UIKeyCommand
override var keyCommands: [UIKeyCommand]? {
return [
UIKeyCommand(input: "F",
modifierFlags: .Command,
action: #selector(ViewController.find(_:)),
discoverabilityTitle: "Find…"),
UIKeyCommand(input: "N",
modifierFlags: [.Command, .Alternate],
action: #selector(ViewController.newDocument(_:)),
discoverabilityTitle: "New document”),
]
}
func find(sender: UIKeyCommand) {
// ...
}
![Page 31: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/31.jpg)
// Keyboard Support: UIKeyCommand
override var keyCommands: [UIKeyCommand]? {
return [
UIKeyCommand(input: "F",
modifierFlags: .Command,
action: #selector(ViewController.find(_:)),
discoverabilityTitle: "Find…"),
UIKeyCommand(input: "N",
modifierFlags: [.Command, .Alternate],
action: #selector(ViewController.newDocument(_:)),
discoverabilityTitle: "New document”),
]
}
func find(sender: UIKeyCommand) {
// ...
}
![Page 32: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/32.jpg)
1024 x 768
![Page 33: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/33.jpg)
What’s Not New in Cocoa TouchWhat’s
![Page 34: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/34.jpg)
What’sNot New in Cocoa TouchWhat’s
![Page 35: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/35.jpg)
What’s New in Cocoa Touch
![Page 36: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/36.jpg)
Agenda
![Page 37: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/37.jpg)
Core technologies
Agenda
![Page 38: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/38.jpg)
Core technologiesBuilding better user interfaces
Agenda
![Page 39: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/39.jpg)
Core technologiesBuilding better user interfacesAdopting system features
Agenda
![Page 40: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/40.jpg)
Core technologiesBuilding better user interfacesAdopting system featuresIntegrating with iOS
Agenda
![Page 41: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/41.jpg)
Core Technologies
![Page 42: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/42.jpg)
Swift 3
![Page 43: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/43.jpg)
// …
let font = UIFont.preferredFontForTextStyle(UIFontTextStyleBody)
let color = UIColor.blackColor()
let title = content.stringByTrimmingCharactersInSet(.whitespaceAndNewlineCharacterSet())
// …
let transform = CGAffineTransformRotate(baseTransform, angle) CGContextConcatCTM(context, transform)
title.drawAtPoint(position, withAttributes: attributes)
// …
let queue = dispatch_queue_create("com.example.queue", nil)
dispatch_async(queue) {
// … }
![Page 44: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/44.jpg)
// …
let font = UIFont.preferredFontForTextStyle(UIFontTextStyleBody)
let color = UIColor.blackColor()
let title = content.stringByTrimmingCharactersInSet(.whitespaceAndNewlineCharacterSet())
// …
let transform = CGAffineTransformRotate(baseTransform, angle) CGContextConcatCTM(context, transform)
title.drawAtPoint(position, withAttributes: attributes)
// …
let queue = dispatch_queue_create("com.example.queue", nil)
dispatch_async(queue) {
// … }
![Page 45: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/45.jpg)
// …
let font = UIFont.preferredFont(forTextStyle: UIFontTextStyleBody)
let color = UIColor.blackColor()
let title = content.stringByTrimmingCharactersInSet(.whitespaceAndNewlineCharacterSet())
// …
let transform = CGAffineTransformRotate(baseTransform, angle) CGContextConcatCTM(context, transform)
title.draw(at: position, withAttributes: attributes)
// …
let queue = dispatch_queue_create("com.example.queue", nil)
dispatch_async(queue) {
// … }
![Page 46: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/46.jpg)
// …
let font = UIFont.preferredFont(forTextStyle: UIFontTextStyleBody)
let color = UIColor.blackColor()
let title = content.stringByTrimmingCharactersInSet(.whitespaceAndNewlineCharacterSet())
// …
let transform = CGAffineTransformRotate(baseTransform, angle) CGContextConcatCTM(context, transform)
title.draw(at: position, withAttributes: attributes)
// …
let queue = dispatch_queue_create("com.example.queue", nil)
dispatch_async(queue) {
// … }
![Page 47: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/47.jpg)
// …
let font = UIFont.preferredFont(forTextStyle: UIFontTextStyleBody)
let color = UIColor.black()
let title = content.trimmingCharacters(in: .whitespaceAndNewline())
// …
let transform = CGAffineTransformRotate(baseTransform, angle) CGContextConcatCTM(context, transform)
title.draw(at: position, withAttributes: attributes)
// …
let queue = dispatch_queue_create("com.example.queue", nil)
dispatch_async(queue) {
// … }
![Page 48: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/48.jpg)
// …
let font = UIFont.preferredFont(forTextStyle: UIFontTextStyleBody)
let color = UIColor.black()
let title = content.trimmingCharacters(in: .whitespaceAndNewline())
// …
let transform = CGAffineTransformRotate(baseTransform, angle) CGContextConcatCTM(context, transform)
title.draw(at: position, withAttributes: attributes)
// …
let queue = dispatch_queue_create("com.example.queue", nil)
dispatch_async(queue) {
// … }
![Page 49: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/49.jpg)
// …
let font = UIFont.preferredFont(forTextStyle: UIFontTextStyleBody)
let color = UIColor.black()
let title = content.trimmingCharacters(in: .whitespaceAndNewline())
// …
let transform = baseTransform.rotate(angle) context.concatCTM(transform)
title.draw(at: position, withAttributes: attributes)
// …
let queue = dispatch_queue_create("com.example.queue", nil)
dispatch_async(queue) {
// … }
![Page 50: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/50.jpg)
// …
let font = UIFont.preferredFont(forTextStyle: UIFontTextStyleBody)
let color = UIColor.black()
let title = content.trimmingCharacters(in: .whitespaceAndNewline())
// …
let transform = baseTransform.rotate(angle) context.concatCTM(transform)
title.draw(at: position, withAttributes: attributes)
// …
let queue = dispatch_queue_create("com.example.queue")
dispatch_async(queue) {
// … }
![Page 51: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/51.jpg)
// …
let font = UIFont.preferredFont(forTextStyle: UIFontTextStyleBody)
let color = UIColor.black()
let title = content.trimmingCharacters(in: .whitespaceAndNewline())
// …
let transform = baseTransform.rotate(angle) context.concatCTM(transform)
title.draw(at: position, withAttributes: attributes)
// …
let queue = DispatchQueue(label: ”com.example.queue")
queue.async {
// … }
![Page 52: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/52.jpg)
Grand Central Dispatch
![Page 53: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/53.jpg)
Grand Central Dispatch
Create a private queue
![Page 54: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/54.jpg)
Grand Central Dispatch
Create a private queueSchedule asynchronous work items
![Page 55: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/55.jpg)
Grand Central Dispatch
Create a private queueSchedule asynchronous work itemsGCD can automatically wrap each work item in an autorelease pool
![Page 56: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/56.jpg)
Grand Central Dispatch
Create a private queueSchedule asynchronous work itemsGCD can automatically wrap each work item in an autorelease pool
let q = DispatchQueue(label: "com.example.queue", attributes: [.autoreleaseWorkItem])
![Page 57: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/57.jpg)
Grand Central Dispatch
Create a private queueSchedule asynchronous work itemsGCD can automatically wrap each work item in an autorelease pool
let q = DispatchQueue(label: "com.example.queue", attributes: [.autoreleaseWorkItem])
Concurrent Programming With GCD in Swift 3 Pacific Heights Friday 4:00PM
![Page 58: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/58.jpg)
Foundation
![Page 59: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/59.jpg)
Foundation
Swift improvements
![Page 60: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/60.jpg)
Foundation
Swift improvementsUnits and measurements
![Page 61: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/61.jpg)
Foundation
Swift improvementsUnits and measurementsNSISO8601DateFormatter
![Page 62: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/62.jpg)
Foundation
Swift improvementsUnits and measurementsNSISO8601DateFormatterNSDateInterval
![Page 63: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/63.jpg)
Foundation
Swift improvementsUnits and measurementsNSISO8601DateFormatterNSDateInterval
What’s New in Foundation for Swift Mission Tuesday 4:00PM
Measurements and Units Presidio Friday 4:00PM
![Page 64: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/64.jpg)
UIPasteboardUniversal Clipboard
![Page 65: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/65.jpg)
UIPasteboardUniversal Clipboard
![Page 66: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/66.jpg)
UIPasteboard
A paste operation might have to retrieve remote data
Universal Clipboard
![Page 67: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/67.jpg)
UIPasteboard
A paste operation might have to retrieve remote data
Universal Clipboard
![Page 68: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/68.jpg)
UIPasteboardUniversal Clipboard
A paste operation might have to retrieve remote dataCheck for Pasteboard content without fetching
![Page 69: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/69.jpg)
UIPasteboardUniversal Clipboard
public class UIPasteboard : NSObject {
public var hasStrings: Bool { get }
public var hasURLs: Bool { get }
public var hasImages: Bool { get }
public var hasColors: Bool { get }
A paste operation might have to retrieve remote dataCheck for Pasteboard content without fetching
![Page 70: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/70.jpg)
UIPasteboard
Control what you publish
Universal Clipboard
extension UIPasteboardOption {
public static let expirationDate: UIPasteboardOption
public static let localOnly: UIPasteboardOption
}
![Page 71: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/71.jpg)
Wide Color
Technology shift
![Page 72: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/72.jpg)
Wide Color
Technology shift
43
![Page 73: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/73.jpg)
Wide Color
Technology shiftFrom sRGB to extended sRGB
44
![Page 74: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/74.jpg)
Wide Color
Technology shiftFrom sRGB to extended sRGBiOS 9.3 is color managed!
![Page 75: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/75.jpg)
Wide Color
Technology shiftFrom sRGB to extended sRGBiOS 9.3 is color managed!Exposed as API in iOS 10.0
![Page 76: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/76.jpg)
Wide Color
UIImageView, color-managed since iOS 9.3
![Page 77: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/77.jpg)
Wide ColorUIColor Support
![Page 78: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/78.jpg)
Wide Color
public class UIColor : NSObject {
public init(red: CGFloat, green: CGFloat, blue: CGFloat, alpha: CGFloat)
public init(displayP3Red: CGFloat, green: CGFloat, blue: CGFloat, alpha: CGFloat)
UIColor Support
![Page 79: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/79.jpg)
Wide Color
Go beyond [0-1] for extended sRGB with the existing initializer
public class UIColor : NSObject {
public init(red: CGFloat, green: CGFloat, blue: CGFloat, alpha: CGFloat)
public init(displayP3Red: CGFloat, green: CGFloat, blue: CGFloat, alpha: CGFloat)
UIColor Support
![Page 80: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/80.jpg)
Wide Color
Go beyond [0-1] for extended sRGB with the existing initializerUse displayP3 for content creation and interchange
public class UIColor : NSObject {
public init(red: CGFloat, green: CGFloat, blue: CGFloat, alpha: CGFloat)
public init(displayP3Red: CGFloat, green: CGFloat, blue: CGFloat, alpha: CGFloat)
UIColor Support
![Page 81: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/81.jpg)
Wide Color
Go beyond [0-1] for extended sRGB with the existing initializerUse displayP3 for content creation and interchange
public class UIColor : NSObject {
public init(red: CGFloat, green: CGFloat, blue: CGFloat, alpha: CGFloat)
public init(displayP3Red: CGFloat, green: CGFloat, blue: CGFloat, alpha: CGFloat)
Working with Wide Color Mission Thursday 1:25PM
UIColor Support
![Page 82: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/82.jpg)
Image Renderer
![Page 83: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/83.jpg)
Image Renderer
UIGraphicsBeginImageContext and UIGraphicsEndImageContext
![Page 84: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/84.jpg)
Image Renderer
UIGraphicsBeginImageContext and UIGraphicsEndImageContext • 32 bits and sRGB only
![Page 85: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/85.jpg)
Image Renderer
UIGraphicsBeginImageContext and UIGraphicsEndImageContext • 32 bits and sRGB only• Error prone
![Page 86: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/86.jpg)
Image Renderer
UIGraphicsBeginImageContext and UIGraphicsEndImageContext • 32 bits and sRGB only• Error prone• Not extensible
![Page 87: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/87.jpg)
Image Renderer
UIGraphicsBeginImageContext and UIGraphicsEndImageContext • 32 bits and sRGB only• Error prone• Not extensible
func createDrawing(size: CGSize) -> UIImage {
let renderer = UIGraphicsBeginImageContext(size)
// Do your drawing here
let image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return image
}
![Page 88: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/88.jpg)
Image Renderer NEW
![Page 89: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/89.jpg)
Image Renderer
New UIGraphicsRenderer class
NEW
![Page 90: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/90.jpg)
Image Renderer
New UIGraphicsRenderer class• Fully color managed
NEW
![Page 91: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/91.jpg)
Image Renderer
New UIGraphicsRenderer class• Fully color managed• Block-based
NEW
![Page 92: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/92.jpg)
Image Renderer
New UIGraphicsRenderer class• Fully color managed• Block-based• Subclasses for images and PDF
NEW
![Page 93: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/93.jpg)
Image Renderer
New UIGraphicsRenderer class• Fully color managed• Block-based• Subclasses for images and PDF• Manages context lifetime
NEW
![Page 94: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/94.jpg)
Image Renderer
New UIGraphicsRenderer class• Fully color managed• Block-based• Subclasses for images and PDF• Manages context lifetime
func createDrawing(size: CGSize) -> UIImage {
let renderer = UIGraphicsImageRenderer(size: size)
return renderer.image { rendererContext in
// Do your drawing here
}
}
NEW
![Page 95: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/95.jpg)
Asset Management
Wide color assetsDirectional image assetsCompression
Integrated with the UIKit trait system
NEW
![Page 96: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/96.jpg)
Asset Management
Wide color assets• Automatic variants generation• Compatible with App Thinning
![Page 97: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/97.jpg)
Asset Management
Compression• Now supports automatic lossy compression• Great compromise between footprint
and quality• Automatic variant will find the right tradeoff• Compatible with App Thinning
![Page 98: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/98.jpg)
Asset Management
Directional image assets for right-to-left and left-to-right UIs• Specify if an image should be
flipped or not • Provide specific images
What's New in International User Interfaces Nob Hil Friday 9:00AM
![Page 99: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/99.jpg)
Building Better User Interfaces
![Page 100: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/100.jpg)
Accessibility Inspector
![Page 101: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/101.jpg)
Accessibility Inspector
![Page 102: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/102.jpg)
Accessibility Inspector
![Page 103: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/103.jpg)
Accessibility Inspector
![Page 104: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/104.jpg)
![Page 105: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/105.jpg)
![Page 106: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/106.jpg)
![Page 107: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/107.jpg)
![Page 108: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/108.jpg)
![Page 109: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/109.jpg)
![Page 110: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/110.jpg)
SFSpeechRecognizerSpeech Recognition
![Page 111: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/111.jpg)
SFSpeechRecognizerSpeech Recognition
Continuous speech recognition
![Page 112: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/112.jpg)
SFSpeechRecognizerSpeech Recognition
Continuous speech recognitionFrom audio files or audio buffers
![Page 113: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/113.jpg)
SFSpeechRecognizerSpeech Recognition
Continuous speech recognitionFrom audio files or audio buffersOptimized for free-form dictation or search-style strings
![Page 114: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/114.jpg)
SFSpeechRecognizerSpeech Recognition
Continuous speech recognitionFrom audio files or audio buffersOptimized for free-form dictation or search-style strings
let recognizer = SFSpeechRecognizer()
let request = SFSpeechURLRecognitionRequest(url: audioFileURL)
recognizer?.recognitionTask(with: request, resultHandler: { (result, error) in
print(result?.bestTranscription.formattedString)
})
![Page 115: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/115.jpg)
SFSpeechRecognizerSpeech Recognition
Continuous speech recognitionFrom audio files or audio buffersOptimized for free-form dictation or search-style strings
let recognizer = SFSpeechRecognizer()
let request = SFSpeechURLRecognitionRequest(url: audioFileURL)
recognizer?.recognitionTask(with: request, resultHandler: { (result, error) in
print(result?.bestTranscription.formattedString)
})
Speech Recognition API Session 509
![Page 116: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/116.jpg)
Smarter Text Input
![Page 117: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/117.jpg)
Smarter Text Input
Semantic tagging of text fields, text views and web content
![Page 118: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/118.jpg)
Smarter Text Input
Semantic tagging of text fields, text views and web contentProvides intelligent suggestions
![Page 119: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/119.jpg)
Smarter Text Input
Semantic tagging of text fields, text views and web contentProvides intelligent suggestionsMany predefined content type
![Page 120: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/120.jpg)
Smarter Text Input
Semantic tagging of text fields, text views and web contentProvides intelligent suggestionsMany predefined content type
People
![Page 121: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/121.jpg)
Smarter Text Input
Semantic tagging of text fields, text views and web contentProvides intelligent suggestionsMany predefined content type
PeopleLocations
textField.textContentType = UITextContentTypeFullStreetAddress
![Page 122: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/122.jpg)
Smarter Text Input
Semantic tagging of text fields, text views and web contentProvides intelligent suggestionsMany predefined content type
PeopleLocations
textField.textContentType = UITextContentTypeFullStreetAddress
Email, telephone, credit card number, …
![Page 123: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/123.jpg)
Content size category traitDynamic Type
![Page 124: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/124.jpg)
Content size category traitDynamic Type
No longer a property on UIApplication
![Page 125: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/125.jpg)
Content size category traitDynamic Type
No longer a property on UIApplicationNo need to listen to notifications
![Page 126: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/126.jpg)
Content size category traitDynamic Type
No longer a property on UIApplicationNo need to listen to notificationsNow available in extensions
![Page 127: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/127.jpg)
Dynamic Type
![Page 128: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/128.jpg)
Dynamic Type
![Page 129: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/129.jpg)
Dynamic Type
label.font = UIFont.preferredFont(forTextStyle: UIFontTextStyleBody)
label.adjustsFontForContentSizeCategory = true
![Page 130: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/130.jpg)
Automatic support in label, text views and controlsDynamic Type
label.font = UIFont.preferredFont(forTextStyle: UIFontTextStyleBody)
label.adjustsFontForContentSizeCategory = true
![Page 131: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/131.jpg)
Tab bar itemsImproved Customization
![Page 132: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/132.jpg)
Tab bar itemsImproved Customization
Custom badge colors and text attributesCustomizable unselected Tint Color
![Page 133: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/133.jpg)
Tab bar itemsImproved Customization
Custom badge colors and text attributesCustomizable unselected Tint Color
![Page 134: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/134.jpg)
Tab bar itemsImproved Customization
Custom badge colors and text attributesCustomizable unselected Tint Color
tabBarItem.badgeColor = UIColor.white()
badgeTextAttributes = [ NSForegroundColorAttributeName : UIColor.blue(), NSFontAttributeName : UIFont.italicSystemFont(ofSize: 12) ]
tabBarItem.setBadgeTextAttributes(textAttributes: badgeTextAttributes, forState: UIControlStateNormal)
tabBar.unselectedTintColor = UIColor.brown()
![Page 135: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/135.jpg)
Tab bar itemsImproved Customization
Custom badge colors and text attributesCustomizable unselected Tint Color
tabBarItem.badgeColor = UIColor.white()
badgeTextAttributes = [ NSForegroundColorAttributeName : UIColor.blue(), NSFontAttributeName : UIFont.italicSystemFont(ofSize: 12) ]
tabBarItem.setBadgeTextAttributes(textAttributes: badgeTextAttributes, forState: UIControlStateNormal)
tabBar.unselectedTintColor = UIColor.brown()
![Page 136: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/136.jpg)
Improved WKWebView SupportPeek & Pop
![Page 137: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/137.jpg)
Improved WKWebView SupportPeek & Pop
Fine control of Peek & Pop behaviors
![Page 138: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/138.jpg)
Improved WKWebView SupportPeek & Pop
Fine control of Peek & Pop behaviorsCustom view controllers
![Page 139: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/139.jpg)
Improved WKWebView SupportPeek & Pop
Fine control of Peek & Pop behaviorsCustom view controllersPreview actions
![Page 140: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/140.jpg)
Improved WKWebView SupportPeek & Pop
Fine control of Peek & Pop behaviorsCustom view controllersPreview actionsPop inside your app
![Page 141: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/141.jpg)
Improved WKWebView SupportPeek & Pop
Fine control of Peek & Pop behaviorsCustom view controllersPreview actionsPop inside your app
public func webView(_ webView: WKWebView, shouldPreviewElement elementInfo: WKPreviewElementInfo) -> Bool
public func webView(_ webView: WKWebView, previewingViewControllerForElement elementInfo: WKPreviewElementInfo, defaultActions previewActions: [WKPreviewActionItem]) -> UIViewController?
public func webView(_ webView: WKWebView, commitPreviewingViewController previewingViewController: UIViewController)
![Page 142: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/142.jpg)
Bring your own UI!Peek & Pop
![Page 143: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/143.jpg)
Bring your own UI!Peek & Pop
UIPreviewInteraction
![Page 144: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/144.jpg)
Bring your own UI!Peek & Pop
UIPreviewInteraction
UIKit provides the “feel” of Peek & Pop
![Page 145: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/145.jpg)
Bring your own UI!Peek & Pop
UIPreviewInteraction
UIKit provides the “feel” of Peek & Pop
func previewInteraction(_ previewInteraction: UIPreviewInteraction,
didUpdatePreviewTransition transitionProgress: CGFloat, ended: Bool) {
self.updateUIToPeek(transitionProgress)
if ended {
self.showPeekUI()
}
}
![Page 146: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/146.jpg)
Bring your own UI!Peek & Pop
UIPreviewInteraction
UIKit provides the “feel” of Peek & Pop
func previewInteraction(_ previewInteraction: UIPreviewInteraction,
didUpdatePreviewTransition transitionProgress: CGFloat, ended: Bool) {
self.updateUIToPeek(transitionProgress)
if ended {
self.showPeekUI()
}
}
A Peek at 3D Touch Presidio Thursday 4:00PM
![Page 147: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/147.jpg)
![Page 148: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/148.jpg)
![Page 149: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/149.jpg)
Support for UIScrollView and subclassesRefresh Control
![Page 150: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/150.jpg)
Collection View
![Page 151: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/151.jpg)
Collection View
Automatic self-sizing cellsin flow layout
![Page 152: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/152.jpg)
Collection View
Automatic self-sizing cellsin flow layoutPaging support in collection view reordering
![Page 153: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/153.jpg)
Collection ViewSmooth scrolling
![Page 154: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/154.jpg)
Cell prefetching
Collection ViewSmooth scrolling
NEW
![Page 155: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/155.jpg)
Cell prefetching
Collection ViewSmooth scrolling
NEW
Data prefetching
![Page 156: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/156.jpg)
Cell prefetching
Collection ViewSmooth scrolling
NEW
Data prefetching(also available in UITableView)
![Page 157: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/157.jpg)
Cell prefetching
Collection ViewSmooth scrolling
NEW
Data prefetching(also available in UITableView)
What’s New in UICollectionView in iOS 10 Presidio Thursday 9:00PM
![Page 158: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/158.jpg)
UIViewPropertyAnimatorAdvances in UIKit Animations
![Page 159: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/159.jpg)
UIViewPropertyAnimatorAdvances in UIKit Animations
Interruptible
![Page 160: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/160.jpg)
UIViewPropertyAnimatorAdvances in UIKit Animations
InterruptibleScrubbable
![Page 161: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/161.jpg)
UIViewPropertyAnimatorAdvances in UIKit Animations
InterruptibleScrubbableReversible
![Page 162: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/162.jpg)
UIViewPropertyAnimatorAdvances in UIKit Animations
InterruptibleScrubbableReversibleRich timing features
![Page 163: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/163.jpg)
UIViewPropertyAnimatorAdvances in UIKit Animations
InterruptibleScrubbableReversibleRich timing featuresDynamic
![Page 164: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/164.jpg)
Advances in UIKit Animations
let timing = UICubicTimingParameters(animationCurve: .easeInOut)let animator = UIViewPropertyAnimator(duration: duration, timingParameters: timing)
animator.addAnimations { self.squareView.center = CGPoint(x: point.x, y: point.y)}
animator.startAnimation()
![Page 165: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/165.jpg)
Advances in UIKit Animations
let timing = UICubicTimingParameters(animationCurve: .easeInOut)let animator = UIViewPropertyAnimator(duration: duration, timingParameters: timing)
animator.addAnimations { self.squareView.center = CGPoint(x: point.x, y: point.y)}
animator.startAnimation()
Advances in UIKit Animations and Transitions Pacific Heights Wednesday 5:00PM
![Page 166: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/166.jpg)
1024 x 768
![Page 167: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/167.jpg)
1024 x 768
![Page 168: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/168.jpg)
1024 x 768
![Page 169: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/169.jpg)
1024 x 768
![Page 170: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/170.jpg)
Adopting System Features
![Page 171: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/171.jpg)
![Page 172: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/172.jpg)
Opening applications
![Page 173: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/173.jpg)
Opening applications
Improving openURL
![Page 174: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/174.jpg)
Opening applications
Improving openURL• Asynchronous, with a completion handler
![Page 175: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/175.jpg)
Opening applications
Improving openURL• Asynchronous, with a completion handler• Let you check if a handler app is installed for
universal links
![Page 176: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/176.jpg)
Opening applications
Improving openURL• Asynchronous, with a completion handler• Let you check if a handler app is installed for
universal links
UIApplication.shared().
open(url, options: [UIApplicationOpenURLOptionUniversalLinksOnly: true]) {
(didOpen: Bool) in
if !didOpen {
// No application available
}
}
![Page 177: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/177.jpg)
Core Data
![Page 178: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/178.jpg)
Core Data
Query generations
![Page 179: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/179.jpg)
Core Data
Query generationsConcurrency improvements
![Page 180: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/180.jpg)
Core Data
Query generationsConcurrency improvementsTooling improvements
![Page 181: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/181.jpg)
Core Data
Query generationsConcurrency improvementsTooling improvements
What’s New in Core Data Pacific Heights Friday 10:00AM
![Page 182: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/182.jpg)
CloudKit
![Page 183: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/183.jpg)
CloudKit
Public databasesPrivate, per user databases
![Page 184: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/184.jpg)
CloudKit
Public databasesPrivate, per user databasesRecord sharing
NEW
![Page 185: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/185.jpg)
UICloudSharingControllerCloudKit NEW
![Page 186: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/186.jpg)
UICloudSharingControllerCloudKit
Managing the invitation flow
NEW
![Page 187: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/187.jpg)
UICloudSharingControllerCloudKit
Managing the invitation flowPrivate and secure
NEW
![Page 188: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/188.jpg)
UICloudSharingControllerCloudKit
Managing the invitation flowPrivate and secure
let sharingController = UICloudSharingController(share: share, container: self.container)
NEW
![Page 189: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/189.jpg)
![Page 190: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/190.jpg)
![Page 191: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/191.jpg)
![Page 192: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/192.jpg)
CloudKit
87What’s New with CloudKit Presidio Thursday 3:00PM
![Page 193: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/193.jpg)
NSUserActivity
![Page 194: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/194.jpg)
NSUserActivity
Capture the state of your application
![Page 195: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/195.jpg)
NSUserActivity
Capture the state of your application
NSUserActivity
![Page 196: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/196.jpg)
NSUserActivity
Capture the state of your applicationInfrastructure for Handoff, Spotlight, …
NSUserActivity
![Page 197: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/197.jpg)
NSUserActivity
Capture the state of your applicationInfrastructure for Handoff, Spotlight, …Now supports locations
NSUserActivity
![Page 198: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/198.jpg)
NSUserActivity
Capture the state of your applicationInfrastructure for Handoff, Spotlight, …Now supports locations
NSUserActivityactivity.mapItem = myLocation
![Page 199: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/199.jpg)
NSUserActivity
Capture the state of your applicationInfrastructure for Handoff, Spotlight, …Now supports locations
Increase Usage of Your App With Proactive Suggestions Mission Friday 1:40PM
NSUserActivityactivity.mapItem = myLocation
![Page 200: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/200.jpg)
App Search
In iOS 9, we added support for indexed activities and indexed content
![Page 201: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/201.jpg)
App Search
In iOS 9, we added support for indexed activities and indexed content
let userActivity = NSUserActivity(activityType: "myActivityType")
userActivity.eligibleForSearch = true
userActivity.eligibleForPublicIndexing = true
userActivity.title = "Presenting What’s New in Cocoa Touch"
let attributes = CSSearchableItemAttributeSet(itemContentType: "public.item")
attributes.displayName = …
userActivity.contentAttributeSet = attributes
![Page 202: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/202.jpg)
App Search NEW
![Page 203: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/203.jpg)
Users can continue their search in the app
App Search NEW
![Page 204: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/204.jpg)
Users can continue their search in the app
App Search NEW
![Page 205: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/205.jpg)
App Search
![Page 206: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/206.jpg)
App Search
Add a CoreSpotlightContinuation key in your Info plist
![Page 207: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/207.jpg)
App Search
Add a CoreSpotlightContinuation key in your Info plistImplement a new UIApplicationDelegate method
![Page 208: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/208.jpg)
App Search
Add a CoreSpotlightContinuation key in your Info plistImplement a new UIApplicationDelegate method
func application(application: UIApplication,
continueUserActivity userActivity: NSUserActivity,
restorationHandler: ([AnyObject]?) -> Void) -> Bool {
if userActivity.activityType == CSQueryContinuationActionType {
if let searchQuery = userActivity.userInfo?[CSSearchQueryString] as? String {
// Search
}
return true
}
return false
}
![Page 209: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/209.jpg)
CSSearchQuery CoreSpotlight Search API
![Page 210: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/210.jpg)
CSSearchQuery CoreSpotlight Search API
Search the data you’ve already indexed with Spotlight
![Page 211: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/211.jpg)
CSSearchQuery CoreSpotlight Search API
Search the data you’ve already indexed with SpotlightGreat power and performance, full content search
![Page 212: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/212.jpg)
CSSearchQuery CoreSpotlight Search API
Search the data you’ve already indexed with SpotlightGreat power and performance, full content search Powerful query syntax
![Page 213: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/213.jpg)
CSSearchQuery CoreSpotlight Search API
Search the data you’ve already indexed with SpotlightGreat power and performance, full content search Powerful query syntax
let query = CSSearchQuery(queryString: queryString, attributes: ["displayName"]) query.foundItemsHandler = { (items: [CSSearchableItem]) in /* process received items */ }
query.start()
![Page 214: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/214.jpg)
CSSearchQuery CoreSpotlight Search API
Search the data you’ve already indexed with SpotlightGreat power and performance, full content search Powerful query syntax
Making the Most of Search APIs Pacific Heights Thursday 11:00AM
let query = CSSearchQuery(queryString: queryString, attributes: ["displayName"]) query.foundItemsHandler = { (items: [CSSearchableItem]) in /* process received items */ }
query.start()
![Page 215: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/215.jpg)
RPBroadcastActivityViewController ReplayKit
![Page 216: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/216.jpg)
Now supports live broadcasting
RPBroadcastActivityViewController ReplayKit
![Page 217: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/217.jpg)
Now supports live broadcasting Third-party services support
RPBroadcastActivityViewController ReplayKit
![Page 218: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/218.jpg)
Now supports live broadcasting Third-party services support
RPBroadcastActivityViewController ReplayKit
Go Live with ReplayKit Mission Tuesday 10:00AM
![Page 219: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/219.jpg)
SceneKit
![Page 220: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/220.jpg)
SceneKit
New realistic rendering• Physically-based rendering• High dynamic range• Linear color space
![Page 221: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/221.jpg)
![Page 222: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/222.jpg)
NEW
Advances in SceneKit Rendering Presidio Tuesday 2:00PM
![Page 223: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/223.jpg)
Apple Pay
![Page 224: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/224.jpg)
In Apps In Stores
iPhone
Apple Watch
iPad
Apple PayCurrently
![Page 225: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/225.jpg)
Apple PayFall 2016
In Apps In Stores Web Extensions
iPhone
Apple Watch
iPad
Mac
NEW
![Page 226: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/226.jpg)
Apple Pay
![Page 227: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/227.jpg)
Apple Pay
Apple Pay in UI code
![Page 228: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/228.jpg)
Apple Pay
Apple Pay in UI codeApple Pay in Safari
NEW
![Page 229: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/229.jpg)
Apple Pay
Apple Pay in UI codeApple Pay in Safari• Also available in SFSafariViewController
NEW
![Page 230: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/230.jpg)
Apple Pay
Apple Pay in UI codeApple Pay in Safari• Also available in SFSafariViewController
Apple Pay in non-UI extensions
NEW
![Page 231: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/231.jpg)
Apple Pay
Apple Pay in UI codeApple Pay in Safari• Also available in SFSafariViewController
Apple Pay in non-UI extensionsGreat feature for your iMessage apps
NEW
![Page 232: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/232.jpg)
Apple Pay
Apple Pay in UI codeApple Pay in Safari• Also available in SFSafariViewController
Apple Pay in non-UI extensionsGreat feature for your iMessage apps
![Page 233: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/233.jpg)
Apple Pay
Apple Pay in UI codeApple Pay in Safari• Also available in SFSafariViewController
Apple Pay in non-UI extensionsGreat feature for your iMessage apps
![Page 234: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/234.jpg)
Apple Pay
Apple Pay in UI codeApple Pay in Safari• Also available in SFSafariViewController
Apple Pay in non-UI extensionsGreat feature for your iMessage apps
![Page 235: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/235.jpg)
Apple Pay
Apple Pay in UI codeApple Pay in Safari• Also available in SFSafariViewController
Apple Pay in non-UI extensionsGreat feature for your iMessage apps
![Page 236: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/236.jpg)
Apple Pay
Apple Pay in UI codeApple Pay in Safari• Also available in SFSafariViewController
Apple Pay in non-UI extensionsGreat feature for your iMessage apps
![Page 237: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/237.jpg)
Apple Pay
Apple Pay in UI codeApple Pay in Safari• Also available in SFSafariViewController
Apple Pay in non-UI extensionsGreat feature for your iMessage apps
![Page 238: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/238.jpg)
Apple Pay
Apple Pay in UI codeApple Pay in Safari• Also available in SFSafariViewController
Apple Pay in non-UI extensionsGreat feature for your iMessage apps
Apple Pay on the Web Mission Tuesday 1:40PM
What’s New with Wallet and Apple Pay Mission Tuesday 3:00PM
![Page 239: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/239.jpg)
Apple Pay
Apple Pay in UI codeApple Pay in Safari• Also available in SFSafariViewController
Apple Pay in non-UI extensionsGreat feature for your iMessage apps
Apple Pay on the Web Mission Tuesday 1:40PM
What’s New with Wallet and Apple Pay Mission Tuesday 3:00PM
![Page 240: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/240.jpg)
Integrating with iOS
![Page 241: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/241.jpg)
![Page 242: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/242.jpg)
![Page 243: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/243.jpg)
Keyboards Extensions
Automatically switch your multi-language keyboard extension based on text content Add system Globe Key functionalityin your own keyboard extension
![Page 244: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/244.jpg)
Display modesWidgets
Widgets now have the concept of “display modes”
![Page 245: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/245.jpg)
Display modesWidgets
Widgets now have the concept of “display modes”• User-controlled • Compact is fixed height
![Page 246: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/246.jpg)
Display modesWidgets
Widgets now have the concept of “display modes”• User-controlled • Compact is fixed height• Expanded is variable
![Page 247: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/247.jpg)
// Widgets: Display modes
public enum NCWidgetDisplayMode : Int {
case compact
case expanded
}
public var widgetLargestAvailableDisplayMode: NCWidgetDisplayMode
public var widgetActiveDisplayMode: NCWidgetDisplayMode { get }
public func widgetMaximumSize(for displayMode: NCWidgetDisplayMode) -> CGSize
optional public func widgetActiveDisplayModeDidChange(_ activeDisplayMode: NCWidgetDisplayMode,
withMaximumSize maxSize: CGSize)
![Page 248: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/248.jpg)
Privacy best practicesWidgets
![Page 249: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/249.jpg)
Privacy best practicesWidgets
Your widget will be on the lock screen
![Page 250: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/250.jpg)
Privacy best practicesWidgets
Your widget will be on the lock screenDon’t surprise your users
![Page 251: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/251.jpg)
User Notifications
![Page 252: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/252.jpg)
User NotificationsNew Framework in iOS 10
![Page 253: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/253.jpg)
User NotificationsNew Framework in iOS 10
![Page 254: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/254.jpg)
User Notifications
Feature Parity
New Framework in iOS 10
![Page 255: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/255.jpg)
User Notifications
Feature ParityUnifies local and remote notification
New Framework in iOS 10
![Page 256: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/256.jpg)
User Notifications
Feature ParityUnifies local and remote notificationBetter delivery management
New Framework in iOS 10
![Page 257: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/257.jpg)
User Notifications
Feature ParityUnifies local and remote notificationBetter delivery managementIn-app presentation option
New Framework in iOS 10
![Page 258: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/258.jpg)
User Notifications
Feature ParityUnifies local and remote notificationBetter delivery managementIn-app presentation optionMulti-Platform
New Framework in iOS 10
![Page 259: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/259.jpg)
User NotificationsService extension
ExtensionAPNSServer-side application
![Page 260: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/260.jpg)
User Notifications
Non-UI extension point
Service extension
ExtensionAPNSServer-side application
![Page 261: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/261.jpg)
User Notifications
Non-UI extension pointUse cases
Service extension
ExtensionAPNSServer-side application
![Page 262: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/262.jpg)
User Notifications
Non-UI extension pointUse cases
Media attachments
Service extension
ExtensionAPNSServer-side application
![Page 263: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/263.jpg)
User Notifications
Non-UI extension pointUse cases
Media attachments End-to-end encryption
Service extension
ExtensionAPNSServer-side application
![Page 264: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/264.jpg)
User NotificationsContent extension
![Page 265: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/265.jpg)
User NotificationsContent extension
![Page 266: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/266.jpg)
User Notifications
UI extension point
Content extension
![Page 267: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/267.jpg)
User Notifications
UI extension pointCustom views
Content extension
![Page 268: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/268.jpg)
User Notifications
UI extension pointCustom viewsNo direct interaction
Content extension
![Page 269: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/269.jpg)
User Notifications
Introduction to Notifications Pacific Heights Wednesday 9:00AM
Advanced Notifications Pacific Heights Wednesday 10:00AM
![Page 270: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/270.jpg)
CallKitDirectory Extension
![Page 271: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/271.jpg)
CallKit
Blocking
Directory Extension
![Page 272: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/272.jpg)
CallKit
Blocking Identification
Directory Extension
![Page 273: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/273.jpg)
CallKit
Blocking Identification
public class CXCallDirectoryExtensionContext : NSExtensionContext {
public func addBlockingEntry(withNextSequentialPhoneNumber phoneNumber: String)
public func addIdentificationEntry(withNextSequentialPhoneNumber phoneNumber: String, label: String)
}
Directory Extension
![Page 274: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/274.jpg)
CallKitCall Provider API
![Page 275: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/275.jpg)
CallKit
A 1st party experience for your VoIP application
Call Provider API
![Page 276: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/276.jpg)
CallKit
A 1st party experience for your VoIP applicationFull screen incoming call UI
Call Provider API
![Page 277: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/277.jpg)
CallKit
A 1st party experience for your VoIP applicationFull screen incoming call UIIntegrated with other types of calls
Call Provider API
![Page 278: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/278.jpg)
CallKit
A 1st party experience for your VoIP applicationFull screen incoming call UIIntegrated with other types of callsVoIP calls appears in Favorites and Recents
Call Provider API
![Page 279: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/279.jpg)
CallKit
A 1st party experience for your VoIP applicationFull screen incoming call UIIntegrated with other types of callsVoIP calls appears in Favorites and RecentsSupports Siri, CarPlay, Do Not Disturb, Bluetooth
Call Provider API
![Page 280: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/280.jpg)
CallKit
A 1st party experience for your VoIP applicationFull screen incoming call UIIntegrated with other types of callsVoIP calls appears in Favorites and RecentsSupports Siri, CarPlay, Do Not Disturb, Bluetooth
Call Provider API
Enhancing VoIP Apps with CallKit Mission Thursday 5:00PM
![Page 281: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/281.jpg)
SiriKit
![Page 282: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/282.jpg)
SiriKit
![Page 283: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/283.jpg)
SiriKit
![Page 284: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/284.jpg)
SiriKit
![Page 285: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/285.jpg)
SiriKit
Recognition
![Page 286: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/286.jpg)
SiriKit
Recognition Domain
![Page 287: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/287.jpg)
SiriKit
Recognition Domain Intents
![Page 288: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/288.jpg)
SiriKit
Recognition Domain Intents Your Extension
![Page 289: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/289.jpg)
SiriKit
Vocabulary
Recognition Domain Intents Your Extension
![Page 290: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/290.jpg)
Intents Extension
Handle the interaction between Siri and your application• Intents and responses
![Page 291: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/291.jpg)
Intents Extension
Handle the interaction between Siri and your application• Intents and responses
Intents are domain specific
![Page 292: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/292.jpg)
Intents Extension
Handle the interaction betweenSiri and your application• Intents and responses
Intents are domain specific• Make sure Siri and your app
agree on the request before performing it
![Page 293: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/293.jpg)
Intents Extension
Handle the interaction betweenSiri and your application• Intents and responses
Intents are domain specific• Make sure Siri and your app
agree on the request before performing it
“Tell Miko on WWDCChatwe need to meet after this session”
![Page 294: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/294.jpg)
Intents Extension
Handle the interaction between Siri and your application• Intents and responses
Intents are domain specific• Make sure Siri and your app
agree on the request before performing it
“Tell Miko on WWDCChatwe need to meet after this session”
App NameSend message intent Recipient
Content
![Page 295: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/295.jpg)
IntentsUI Extension
Embed your own UI in the Siri Transcript• Optional
![Page 296: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/296.jpg)
Intents are Shared
Intents describe requests• For Siri to communicate with your app• To integrate with CallKit• For Ride Sharing in Maps• To donate information to the system
about a contact
![Page 297: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/297.jpg)
Intents are Shared
Intents describe requests• For Siri to communicate with your app• To integrate with CallKit• For Ride Sharing in Maps• To donate information to the system
about a contact
![Page 298: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/298.jpg)
Intents are Shared
Intents describe requests• For Siri to communicate with your app• To integrate with CallKit• For Ride Sharing in Maps• To donate information to the system
about a contact
![Page 299: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/299.jpg)
Intents are Shared
Intents describe requests• For Siri to communicate with your app• To integrate with CallKit• For Ride Sharing in Maps• To donate information to the system
about a contact
![Page 300: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/300.jpg)
iMessage Apps
![Page 301: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/301.jpg)
iMessage Apps
Write apps for Messages
![Page 302: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/302.jpg)
iMessage Apps
Write apps for MessagesSticker packs
![Page 303: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/303.jpg)
iMessage Apps
Write apps for MessagesSticker packsMessages extension
![Page 304: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/304.jpg)
Sticker PacksiMessage Apps
![Page 305: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/305.jpg)
Sticker PacksiMessage Apps
No code required
![Page 306: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/306.jpg)
Sticker PacksiMessage Apps
No code requiredPackage and distribute your images
![Page 307: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/307.jpg)
Message ExtensionsiMessage Apps
![Page 308: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/308.jpg)
Message ExtensionsiMessage Apps
Dynamic stickers content
![Page 309: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/309.jpg)
Message ExtensionsiMessage Apps
Dynamic stickers contentCustomize your UI
![Page 310: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/310.jpg)
Message ExtensionsiMessage Apps
![Page 311: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/311.jpg)
Message ExtensionsiMessage Apps
Interactive Messages
![Page 312: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/312.jpg)
Message ExtensionsiMessage Apps
Interactive MessagesConnect and integrate with a Messages session
![Page 313: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/313.jpg)
Message ExtensionsiMessage Apps
Interactive MessagesConnect and integrate with a Messages session Custom content
![Page 314: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/314.jpg)
iMessage Apps
138
![Page 315: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/315.jpg)
iMessage Apps
138
iMessage Apps and Stickers, Part 1 Presido Tuesday 11:00AM
iMessage Apps and Stickers, Part 2 Presidio Thursday 1:40PM
![Page 316: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/316.jpg)
More Information
https://developer.apple.com/wwdc16/205
![Page 317: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/317.jpg)
Labs
Cocoa Touch Lab Frameworks Lab D Tuesday 2:30PM
Cocoa Touch Lab Frameworks Lab A Wednesday 3:00M
UIKit and UIKit Animations Lab Frameworks Lab C Thursday 1:00PM
Cocoa Touch 3D Touch Lab Frameworks Lab C Friday 10:30AM
![Page 318: What's New in Cocoa Touch](https://reader034.fdocuments.us/reader034/viewer/2022052607/58a0346b1a28ab4c118b755c/html5/thumbnails/318.jpg)