Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS...

132
© 2014 Apple Inc. All rights reserved. Redistribution or public display not permitted without written permission from Apple. #WWDC14 Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS

Transcript of Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS...

Page 1: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

© 2014 Apple Inc. All rights reserved. Redistribution or public display not permitted without written permission from Apple.

#WWDC14

Designing Accessories for iOS and OS X

Session 701 Robert Walsh Manager, Platform Accessories

Core OS

Page 2: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

Introduction

Accessory interfaces

Accessory protocols

What’s new in iOS 8 and OS X Yosemite

Program information and wrap up

Page 3: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

Wireless speakers

Blood pressure monitors

Video devices

Garage door openers

Storage devices

Light bulbs

Hearing aids

Thermostats

Heart rate monitors

Audio devices

Health thermometers

Cases

Game controllers

Headphones

App-enabled accessories

Glucose meters

Speakers

iBeacon

Page 4: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

Wireless speakers

Blood pressure monitors

Video devices

Garage door openers

Storage devices

Light bulbs

Hearing aids

Thermostats

Heart rate monitors

Audio devices

Health thermometers

Cases

Game controllers

Headphones

App-enabled accessories

Glucose meters

Speakers

iBeacon

Page 5: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

Accessory Interfaces

Wireless • Bluetooth

• Wi-Fi

Wired • Lightning connector

• USB

• Thunderbolt 2

• Headphone remote and mic

Page 6: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

Bluetooth

Page 7: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

Bluetooth Low EnergySupported features

iOS OS X App framework For more information

General communication with apps ✓ ✓ Core Bluetooth Bluetooth Design Guidelines

Apple Notification Center Service (ANCS) ✓ Notification Center Bluetooth Design Guidelines

Hearing aid audio transport ✓ Core Audio MFi Program

HealthKit ✓ HealthKit Bluetooth Design Guidelines MFi Program

HomeKit ✓ HomeKit MFi Program

iBeacon ✓ Core Location iBeacon Licensing

Page 8: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

Bluetooth Low EnergySupported features

iOS OS X App framework For more information

General communication with apps ✓ ✓ Core Bluetooth Bluetooth Design Guidelines

Apple Notification Center Service (ANCS) ✓ Notification Center Bluetooth Design Guidelines

Hearing aid audio transport ✓ Core Audio MFi Program

HealthKit ✓ HealthKit Bluetooth Design Guidelines MFi Program

HomeKit ✓ HomeKit MFi Program

iBeacon ✓ Core Location iBeacon Licensing

Page 9: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

Bluetooth Low EnergySupported features

iOS OS X App framework For more information

General communication with apps ✓ ✓ Core Bluetooth Bluetooth Design Guidelines

Apple Notification Center Service (ANCS) ✓ Notification Center Bluetooth Design Guidelines

Hearing aid audio transport ✓ Core Audio MFi Program

HealthKit ✓ HealthKit Bluetooth Design Guidelines MFi Program

HomeKit ✓ HomeKit MFi Program

iBeacon ✓ Core Location iBeacon Licensing

Page 10: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

Classic BluetoothSupport for standard features

iOS OS X App framework

Advanced Audio Distribution Profile (A2DP) ✓ ✓ Advanced Audio Distribution Profile (A2DP)

Audio/Video Remove Control Profile (AVRCP) ✓ ✓ Audio/Video Remove Control Profile (AVRCP)

Dial Up Network (DUN) Profile ✓ Dial Up Network (DUN) Profile

File Transfer Profile (FTP) ✓ File Transfer Profile (FTP)

Hands-Free Profile (HFP) ✓ Hands-Free Profile (HFP)

Hardcopy Cable Replacement Profile (HCRP) ✓ Hardcopy Cable Replacement Profile (HCRP)

Headset Profile (HSP) ✓ Headset Profile (HSP)

Human Interface Device (HID) Profile ✓ ✓ Human Interface Device (HID) Profile

Message Access Profile (MAP) ✓ Message Access Profile (MAP)

Object Push Profile (OPP) ✓ Object Push Profile (OPP)

Personal Area Network Profile (PAN) ✓ Personal Area Network Profile (PAN)

Phone Book Access Profile (PBAP) ✓ Phone Book Access Profile (PBAP)

Serial Port Profile (SPP) ✓ Serial Port Profile (SPP)

Page 11: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

Classic BluetoothSupport for extended features on iOS

For more information

Headset battery level indication Bluetooth Design Guidelines

Siri Eyes Free Bluetooth Design Guidelines

iAP • Access to media library • Access to location • Proprietary communication with apps • Direct users to App Store when accessory is paired • Game controllers

MFi Program

Page 12: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

Wi-Fi

Wi-Fi Alliance certification

• 802.11a/b/g, 802.11n, 802.11ac

Dual-band operation

• 2.4 and 5 GHz

WPA2 security mode

Quality of services

• Wireless Multimedia (WMM)

IPv6

Page 13: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

Lightning Connector

Lightning headphone module

• Richer controls, including iTunes Radio

• App-enabled headphones

New connector modules

Page 14: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

USB

All current Macs ship with USB 3 ports

All current Macs support 5 Gbps per port

900 mA per port for device power and charging

High performance storage devices should use UAS

Built-in driver support for XHCI 1.0 compliant host controllers

Page 15: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

Thunderbolt 2

High speed data and 4K video on one cable

PCI Express and DisplayPort protocol

Dual-channel, bi-directional 20 Gbps per port

Up to 10W for bus-powered devices

Daisy chain up to six devices per port

Certification program ensures high quality devices

Refer to Thunderbolt Device Driver Programming Guide

Page 16: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

Headphone Remote and Mic

Apps can receive remote control events

Standardized microphone

Page 17: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

What’s New in iOS 8 and OS X Yosemite

Page 18: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

HealthKit Accessories

Terry Worley Software Engineer, HealthKit team

Page 19: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

HealthKit Sneak Peek

Page 20: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

HealthKit Sneak Peek

New framework in iOS 8

Page 21: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

HealthKit Sneak Peek

New framework in iOS 8

Save and access health and fitness data

Page 22: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

HealthKit Sneak Peek

New framework in iOS 8

Save and access health and fitness data

Class A data security

Page 23: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

HealthKit Sneak Peek

New framework in iOS 8

Save and access health and fitness data

Class A data security

User privacy settings

Page 24: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

HealthKit Sneak Peek

New framework in iOS 8

Save and access health and fitness data

Class A data security

User privacy settings

Searches and statistical queries

Page 25: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

HealthKit Sneak Peek

New framework in iOS 8

Save and access health and fitness data

Class A data security

User privacy settings

Searches and statistical queries

Unit conversions

Page 26: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

HealthKit Sneak Peek

New framework in iOS 8

Save and access health and fitness data

Class A data security

User privacy settings

Searches and statistical queries

Unit conversions

Notifications of new data

Page 27: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

HealthKit Sneak Peek

New framework in iOS 8

Save and access health and fitness data

Class A data security

User privacy settings

Searches and statistical queries

Unit conversions

Notifications of new data

Integration with accessories

Page 28: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

Health and Fitness Accessories

Page 29: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

Health and Fitness Accessories

Bluetooth Low Energy is ideal for health and fitness

Page 30: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

Health and Fitness Accessories

Bluetooth Low Energy is ideal for health and fitness

Accessories play the leading role in providing HealthKit data

Page 31: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

Health and Fitness Accessories

Bluetooth Low Energy is ideal for health and fitness

Accessories play the leading role in providing HealthKit data

Accessories with built-in HealthKit support • Heart rate monitor

• Glucose sensor

• Blood pressure monitor

• Health thermometer

Page 32: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

Health and Fitness Accessories

Bluetooth Low Energy is ideal for health and fitness

Accessories play the leading role in providing HealthKit data

Accessories with built-in HealthKit support • Heart rate monitor

• Glucose sensor

• Blood pressure monitor

• Health thermometer

Once paired, HealthKit automatically controls the accessory

Page 33: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

Developing Native HealthKit Accessories

Page 34: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

Developing Native HealthKit Accessories

Adhere to Bluetooth Low Energy GATT Specifications

Page 35: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

Developing Native HealthKit Accessories

Adhere to Bluetooth Low Energy GATT Specifications

Best practices

Page 36: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

Developing Native HealthKit Accessories

Adhere to Bluetooth Low Energy GATT Specifications

Best practices• Implement optional fields within the services, e.g. the heart rate field within the blood

pressure service saved as its own data point in HealthKit

Page 37: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

Developing Native HealthKit Accessories

Adhere to Bluetooth Low Energy GATT Specifications

Best practices• Implement optional fields within the services, e.g. the heart rate field within the blood

pressure service saved as its own data point in HealthKit

• Implement supported metadata, e.g. energy expended stored as metadata along with the heart rate measurement in HealthKit

Page 38: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

Developing Native HealthKit Accessories

Adhere to Bluetooth Low Energy GATT Specifications

Best practices• Implement optional fields within the services, e.g. the heart rate field within the blood

pressure service saved as its own data point in HealthKit

• Implement supported metadata, e.g. energy expended stored as metadata along with the heart rate measurement in HealthKit

• Implement optional characteristics, e.g. sensor contact to help identify valid data

Page 39: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

Developing Native HealthKit Accessories

Adhere to Bluetooth Low Energy GATT Specifications

Best practices• Implement optional fields within the services, e.g. the heart rate field within the blood

pressure service saved as its own data point in HealthKit

• Implement supported metadata, e.g. energy expended stored as metadata along with the heart rate measurement in HealthKit

• Implement optional characteristics, e.g. sensor contact to help identify valid data

• Implement optional services, e.g. battery Service

Page 40: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

Developing Other Accessories

Page 41: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

Developing Other Accessories

Custom solutions can contribute to HealthKit

Page 42: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

Developing Other Accessories

Custom solutions can contribute to HealthKit

Use any service that makes sense for your accessory. That might include the ExternalAccessory framework, CoreBluetooth, USB, or Wi-Fi

Page 43: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

Developing Other Accessories

Custom solutions can contribute to HealthKit

Use any service that makes sense for your accessory. That might include the ExternalAccessory framework, CoreBluetooth, USB, or Wi-Fi

Then use the HealthKit framework APIs from within your app to add your data

Page 44: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

Developing Other Accessories

Custom solutions can contribute to HealthKit

Use any service that makes sense for your accessory. That might include the ExternalAccessory framework, CoreBluetooth, USB, or Wi-Fi

Then use the HealthKit framework APIs from within your app to add your data

We hope these custom solutions will join in

Page 45: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

HealthKit Software Support

Page 46: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

HealthKit Software Support

@property (nonatomic) HKHealthStore *healthStore; [self setHealthStore:[[HKHealthStore alloc] init]];

Page 47: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

HealthKit Software Support

@property (nonatomic) HKHealthStore *healthStore; [self setHealthStore:[[HKHealthStore alloc] init]]; ... HKQuantityType *heartRateType = [HKObjectType quantityTypeForIdentifier:HKQuantityTypeIdentifierHeartRate];

Page 48: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

HealthKit Software Support

@property (nonatomic) HKHealthStore *healthStore; [self setHealthStore:[[HKHealthStore alloc] init]]; ... HKQuantityType *heartRateType = [HKObjectType quantityTypeForIdentifier:HKQuantityTypeIdentifierHeartRate];

Page 49: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

HealthKit Software Support

@property (nonatomic) HKHealthStore *healthStore; [self setHealthStore:[[HKHealthStore alloc] init]]; ... HKQuantityType *heartRateType = [HKObjectType quantityTypeForIdentifier:HKQuantityTypeIdentifierHeartRate]; HKObserverQuery *heartRateQuery = [[HKObserverQuery alloc] initWithSampleType:heartRateType predicate:nil updateHandler:^(HKObserverQuery *query,  void (^completion)(void), NSError *error) { !

}];

Page 50: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

HealthKit Software Support

@property (nonatomic) HKHealthStore *healthStore; [self setHealthStore:[[HKHealthStore alloc] init]]; ... HKQuantityType *heartRateType = [HKObjectType quantityTypeForIdentifier:HKQuantityTypeIdentifierHeartRate]; HKObserverQuery *heartRateQuery = [[HKObserverQuery alloc] initWithSampleType:heartRateType predicate:nil updateHandler:^(HKObserverQuery *query,  void (^completion)(void), NSError *error) {     if (error == nil) {        // Use HealthKit to fetch the new sample(s) from the database. [self fetchNewSamples]; } }];

Page 51: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

HealthKit Software Support

@property (nonatomic) HKHealthStore *healthStore; [self setHealthStore:[[HKHealthStore alloc] init]]; ... HKQuantityType *heartRateType = [HKObjectType quantityTypeForIdentifier:HKQuantityTypeIdentifierHeartRate]; HKObserverQuery *heartRateQuery = [[HKObserverQuery alloc] initWithSampleType:heartRateType predicate:nil updateHandler:^(HKObserverQuery *query,  void (^completion)(void), NSError *error) {     if (error == nil) {        // Use HealthKit to fetch the new sample(s) from the database. [self fetchNewSamples]; } }]; [self.healthStore executeQuery:heartRateQuery];

Page 52: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

DemoHeart rate monitor

Jorge Moriñigo Software Engineer, HealthKit team

Page 53: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

Related Sessions

• Introducing HealthKit Mission Tuesday 10:15AM

• Health and Fitness Get Together Folsom Tuesday 4:30PM

Page 54: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

HomeKit Accessories

Kevin McLaughlin Wireless Software Engineering

Page 55: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

HomeKit

Page 56: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

HomeKit

Bring exciting new accessories to our users

Page 57: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

HomeKit

Bring exciting new accessories to our users

Provide consistent user experience

Page 58: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

HomeKit

Bring exciting new accessories to our users

Provide consistent user experience

Learn about APIs at HomeKit session

Page 59: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

HomeKit Accessory Protocol

Page 60: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

HomeKit Accessory Protocol

HomeKit

Accessory

Protocol

Page 61: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

HomeKit Accessory Protocol

HomeKit

Accessory

Protocol

“HAP”

Page 62: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

HomeKit Accessory ProtocolConnecting accessories to HomeKit

Page 63: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

HomeKit Accessory ProtocolConnecting accessories to HomeKit

Transports • Bluetooth Low Energy

• IP

Page 64: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

HomeKit Accessory ProtocolConnecting accessories to HomeKit

Transports • Bluetooth Low Energy

• IP

Security • Bi-directional authentication

• Per-session encryption

Page 65: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

HomeKit Accessory ProtocolConnecting accessories to HomeKit

Transports • Bluetooth Low Energy

• IP

Security • Bi-directional authentication

• Per-session encryption

Common functionality definitions • Services

• Characteristics

Page 66: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

HomeKit Accessory Profiles

Services • Garage door openers

• Lights

• Door locks

• Thermostats

• IP camera controls

• Switches

• …

• Custom

Characteristics • Power state

• Lock state

• Target state

• Brightness

• Model number

• Current temperature

• …

• Custom

Page 67: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

HomeKit Accessory Profiles

Services • Garage door openers

• Lights

• Door locks

• Thermostats

• IP camera controls

• Switches

• …

• Custom

Characteristics • Power state

• Lock state

• Target state

• Brightness

• Model number

• Current temperature

• …

• Custom

Page 68: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

HomeKit Accessory Protocol Layers

Page 69: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

HomeKit Accessory Protocol Layers

Bluetooth LE IP

Page 70: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

HomeKit Accessory Protocol Layers

Bluetooth LE IP

L2CAP TCP

Page 71: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

HomeKit Accessory Protocol Layers

Bluetooth LE IP

L2CAP TCP

Attribute Protocol (ATT) HTTP

Page 72: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

HomeKit Accessory Protocol Layers

Bluetooth LE IP

L2CAP TCP

Attribute Protocol (ATT) HTTP

Generic Attribute Profile (GATT)

JSON

Page 73: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

HomeKit Accessory Protocol Layers

Bluetooth LE IP

L2CAP TCP

Attribute Protocol (ATT) HTTP

Generic Attribute Profile (GATT)

JSON

HomeKit Accessory Protocol

Page 74: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

HomeKit Accessory Protocol Layers

Bluetooth LE IP

L2CAP TCP

Attribute Protocol (ATT) HTTP

Generic Attribute Profile (GATT)

JSON

HomeKit Accessory Protocol

HomeKit

Page 75: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

HomeKit Accessory Protocol Layers

Bluetooth LE IP

L2CAP TCP

Attribute Protocol (ATT) HTTP

Generic Attribute Profile (GATT)

JSON

HomeKit Accessory Protocol

HomeKit

Encryption Boundary

Page 76: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

Garage Door OpenerServices and characteristics example

Page 77: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

Garage Door OpenerServices and characteristics example

accessory : {

Page 78: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

Garage Door OpenerServices and characteristics example

accessory : { service1 : “public.hap.accessory-information” {

Page 79: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

Garage Door OpenerServices and characteristics example

accessory : { service1 : “public.hap.accessory-information” { characteristic : “serial-number”

Page 80: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

Garage Door OpenerServices and characteristics example

accessory : { service1 : “public.hap.accessory-information” { characteristic : “serial-number” characteristic : “identify” }

Page 81: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

Garage Door OpenerServices and characteristics example

accessory : { service1 : “public.hap.accessory-information” { characteristic : “serial-number” characteristic : “identify” } service2 : “public.hap.garage-door-opener” {

Page 82: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

Garage Door OpenerServices and characteristics example

accessory : { service1 : “public.hap.accessory-information” { characteristic : “serial-number” characteristic : “identify” } service2 : “public.hap.garage-door-opener” { characteristic : “target-state”

Page 83: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

Garage Door OpenerServices and characteristics example

accessory : { service1 : “public.hap.accessory-information” { characteristic : “serial-number” characteristic : “identify” } service2 : “public.hap.garage-door-opener” { characteristic : “target-state” characteristic : “current-state”

Page 84: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

Garage Door OpenerServices and characteristics example

accessory : { service1 : “public.hap.accessory-information” { characteristic : “serial-number” characteristic : “identify” } service2 : “public.hap.garage-door-opener” { characteristic : “target-state” characteristic : “current-state” characteristic : “obstruction-detected” }

Page 85: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

Garage Door OpenerServices and characteristics example

accessory : { service1 : “public.hap.accessory-information” { characteristic : “serial-number” characteristic : “identify” } service2 : “public.hap.garage-door-opener” { characteristic : “target-state” characteristic : “current-state” characteristic : “obstruction-detected” } service3 : “public.hap.lightbulb” {

Page 86: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

Garage Door OpenerServices and characteristics example

accessory : { service1 : “public.hap.accessory-information” { characteristic : “serial-number” characteristic : “identify” } service2 : “public.hap.garage-door-opener” { characteristic : “target-state” characteristic : “current-state” characteristic : “obstruction-detected” } service3 : “public.hap.lightbulb” { characteristic : “on” }}

Page 87: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

IP Details

Page 88: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

IP Details

Remote access through HomeKit

Page 89: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

IP Details

Remote access through HomeKit

Bonjour for accessory discovery

Page 90: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

IP Details

Remote access through HomeKit

Bonjour for accessory discovery

A single IP accessory may present multiple “accessories” • Enables bridges

• Bridge is responsible for translating to and from HAP

Page 91: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

IP Details

Remote access through HomeKit

Bonjour for accessory discovery

A single IP accessory may present multiple “accessories” • Enables bridges

• Bridge is responsible for translating to and from HAP

RESTful API to interact with accessories, services, and characteristics

Page 92: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

Bluetooth Low Energy Details

Page 93: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

Bluetooth Low Energy Details

Remote access through HomeKit

Page 94: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

Bluetooth Low Energy Details

Remote access through HomeKit

Apple-defined advertisement data for HAP

Page 95: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

Bluetooth Low Energy Details

Remote access through HomeKit

Apple-defined advertisement data for HAP

Accessories are not identifiable from their advertisement data

Page 96: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

Bluetooth Low Energy Details

Remote access through HomeKit

Apple-defined advertisement data for HAP

Accessories are not identifiable from their advertisement data

HAP security instead of Bluetooth Low Energy pairing

Page 97: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

Protocol Security

End-to-end encryption

Initial setup secured directly between iOS and accessory

Perfect forward secrecy

Standard cryptography

Page 98: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

Security Details

!

!

!

!

!

!

!

Defined in pairing specification

Support available at HomeKit lab and through MFi program

Algorithm Description

Secure Remote Password (SRP) Encrypts and authenticates initial pairing key exchange

Ed25519 Long-term keys for pairing and authentication

Curve25519 Encrypts initial authentication for each session

HKDF-SHA-512 Per-session ephemeral encryption key derivation

ChaCha20-Poly1305 Encrypts and authenticates HAP data

Page 99: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

Next Steps

Page 100: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

Next Steps

MFi program • Access to HomeKit specifications for

protocol, pairing, and profiles

• Development and certification tool

• Available soon

Page 101: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

Next Steps

MFi program • Access to HomeKit specifications for

protocol, pairing, and profiles

• Development and certification tool

• Available soon

Learn HomeKit APIs • Attend HomeKit session and lab

Page 102: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

AirPlay

Page 103: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

AirPlay

Audio handling changes • Accessory side skew compensation

• Buffer underrun handling

Page 104: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

AirPlay

Audio handling changes • Accessory side skew compensation

• Buffer underrun handling

New reference platform • BSD on Raspberry Pi

Page 105: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

iAP2 and External Accessory Framework

Page 106: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

iAP2 and External Accessory FrameworkMedia playback enhancements for accessories

Page 107: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

iAP2 and External Accessory FrameworkMedia playback enhancements for accessories

Access to playback queue

Page 108: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

iAP2 and External Accessory FrameworkMedia playback enhancements for accessories

Access to playback queue

Play all tracks

Page 109: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

iAP2 and External Accessory FrameworkMedia playback enhancements for accessories

Access to playback queue

Play all tracks

Seek to specific time in music track

Page 110: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

iAP2 and External Accessory FrameworkMedia playback enhancements for accessories

Access to playback queue

Play all tracks

Seek to specific time in music track

Get non-localized bundle identifier for media apps

Page 111: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

iAP2 and External Accessory FrameworkMedia playback enhancements for accessories

Access to playback queue

Play all tracks

Seek to specific time in music track

Get non-localized bundle identifier for media apps

Get progress information during media library synchronization

Page 112: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

iAP2 and External Accessory FrameworkAdditional enhancements for accessories

Page 113: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

iAP2 and External Accessory FrameworkAdditional enhancements for accessories

Simplified time synchronization

Page 114: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

iAP2 and External Accessory FrameworkAdditional enhancements for accessories

Simplified time synchronization

Get detailed charge state information

Page 115: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

iAP2 and External Accessory FrameworkAdditional enhancements for accessories

Simplified time synchronization

Get detailed charge state information

Smaller footprint link layer reference code

Page 116: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

iAP2 and External Accessory FrameworkAdditional enhancements for accessories

Simplified time synchronization

Get detailed charge state information

Smaller footprint link layer reference code

Multiple apps can open sessions for the same External Accessory protocol simultaneously

Page 117: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

Wireless Accessory Configuration

Page 118: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

Wireless Accessory ConfigurationConfigure Wi-Fi accessories from within your app

Import External Accessory framework

Implement EAWiFiUnconfiguredAccessoryBrowserDelegate protocol

Instantiate EAWiFiUnconfiguredAccessoryBrowser

Page 119: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

Wireless Accessory ConfigurationSearch for unconfigured Wi-Fi accessories

Search for all unconfigured Wi-Fi accessories [browser startSearchingForUnconfiguredAccessoriesMatchingPredicate:nil];

or filter for a subset of accessories [browser startSearchingForUnconfiguredAccessoriesMatchingPredicate: [NSPredicate predicateWithFormat:@"name = ‘Amalgamated Audio’"]];

Page 120: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

Wireless Accessory ConfigurationDelegate callbacks

New accessories were found - (void)accessoryBrowser:(EAWiFiUnconfiguredAccessoryBrowser*) browser didFindUnconfiguredAccessories:(NSSet*)accessories

Previously found accessory is no longer available - (void)accessoryBrowser:(EAWiFiUnconfiguredAccessoryBrowser*) browser didRemoveUnconfiguredAccessories:(NSSet*)accessories

State of the browser has changed - (void)accessoryBrowser:(EAWiFiUnconfiguredAccessoryBrowser*) browser didUpdateState:(EAWiFiUnconfiguredAccessoryBrowserState)state

Page 121: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

Wireless Accessory ConfigurationUser selects an accessory

Page 122: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

Wireless Accessory ConfigurationUser selects an accessory

Begin configuring the accessory [browser configureAccessory:accessoryToConfigure withConfigurationUIOnViewController:self];

Page 123: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

Wireless Accessory ConfigurationUser configures Wi-Fi accessory

Page 124: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

Wireless Accessory ConfigurationUser configures Wi-Fi accessory

Page 125: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

Wireless Accessory ConfigurationUser configures Wi-Fi accessory

Page 126: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

Wireless Accessory ConfigurationConfiguration complete

Page 127: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

Summary

HealthKit

HomeKit

Media playback enhancements for accessories

App-driven Wireless Accessory Configuration

Page 128: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

References

MFi Program

http://developer.apple.com/mfi/

iBeacon

http://developer.apple.com/ibeacon/

Bluetooth Accessory Design Guidelines for Apple Products

http://developer.apple.com/bluetooth/

Case Design Guidelines for Apple Devices

http://developer.apple.com/resources/cases/

Page 129: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

More Information

Stephen Chick iPhone Evangelist [email protected]

Craig Keithley MFi and I/O Technologies Evangelist [email protected]

Mark Tozer Desktop Technologies Evangelist [email protected]

Apple Developer Forums http://devforums.apple.com

Page 130: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

Related Sessions

• Introducing HealthKit Mission Tuesday 10:15AM

• What’s New in Core Location Marina Tuesday 2:00PM

• Introducing HomeKit Marina Tuesday 4:30PM

• Adopting AirPrint Pacific Heights Friday 9:00AM

• Designing for Game Controllers Mission Friday 10:15AM

Page 131: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General

Labs

• I/O Technologies Lab Core OS Lab A Tuesday 9:00AM

• Accessories and I/O Technologies Lab Core OS Lab A Tuesday 11:30AM

• I/O Technologies Lab Core OS Lab A Thursday 11:30AM

• Accessories and I/O Technologies Lab Core OS Lab A Thursday 12:45PM

• HomeKit Lab Services Lab A Thursday 12:45PM

• HealthKit Lab Services Lab B Friday 9:00AM

Page 132: Designing Accessories for iOS and OS X - Apple Inc. · 2016-07-08 · Designing Accessories for iOS and OS X Session 701 Robert Walsh Manager, Platform Accessories Core OS. ... General