Designing Accessories For IOS And OS X
Transcript of Designing Accessories For IOS And OS X
![Page 1: Designing Accessories For IOS And OS X](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/1.jpg)
© 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](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/2.jpg)
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](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/3.jpg)
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](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/4.jpg)
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](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/5.jpg)
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](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/6.jpg)
Bluetooth
![Page 7: Designing Accessories For IOS And OS X](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/7.jpg)
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](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/8.jpg)
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](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/9.jpg)
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](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/10.jpg)
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](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/11.jpg)
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](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/12.jpg)
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](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/13.jpg)
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](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/14.jpg)
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](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/15.jpg)
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](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/16.jpg)
Headphone Remote and Mic
Apps can receive remote control events
Standardized microphone
![Page 17: Designing Accessories For IOS And OS X](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/17.jpg)
What’s New in iOS 8 and OS X Yosemite
![Page 18: Designing Accessories For IOS And OS X](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/18.jpg)
HealthKit Accessories
Terry Worley Software Engineer, HealthKit team
![Page 19: Designing Accessories For IOS And OS X](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/19.jpg)
HealthKit Sneak Peek
![Page 20: Designing Accessories For IOS And OS X](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/20.jpg)
HealthKit Sneak Peek
New framework in iOS 8
![Page 21: Designing Accessories For IOS And OS X](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/21.jpg)
HealthKit Sneak Peek
New framework in iOS 8
Save and access health and fitness data
![Page 22: Designing Accessories For IOS And OS X](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/22.jpg)
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](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/23.jpg)
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](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/24.jpg)
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](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/25.jpg)
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](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/26.jpg)
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](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/27.jpg)
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](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/28.jpg)
Health and Fitness Accessories
![Page 29: Designing Accessories For IOS And OS X](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/29.jpg)
Health and Fitness Accessories
Bluetooth Low Energy is ideal for health and fitness
![Page 30: Designing Accessories For IOS And OS X](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/30.jpg)
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](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/31.jpg)
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](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/32.jpg)
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](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/33.jpg)
Developing Native HealthKit Accessories
![Page 34: Designing Accessories For IOS And OS X](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/34.jpg)
Developing Native HealthKit Accessories
Adhere to Bluetooth Low Energy GATT Specifications
![Page 35: Designing Accessories For IOS And OS X](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/35.jpg)
Developing Native HealthKit Accessories
Adhere to Bluetooth Low Energy GATT Specifications
Best practices
![Page 36: Designing Accessories For IOS And OS X](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/36.jpg)
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](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/37.jpg)
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](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/38.jpg)
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](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/39.jpg)
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](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/40.jpg)
Developing Other Accessories
![Page 41: Designing Accessories For IOS And OS X](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/41.jpg)
Developing Other Accessories
Custom solutions can contribute to HealthKit
![Page 42: Designing Accessories For IOS And OS X](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/42.jpg)
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](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/43.jpg)
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](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/44.jpg)
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](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/45.jpg)
HealthKit Software Support
![Page 46: Designing Accessories For IOS And OS X](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/46.jpg)
HealthKit Software Support
@property (nonatomic) HKHealthStore *healthStore; [self setHealthStore:[[HKHealthStore alloc] init]];
![Page 47: Designing Accessories For IOS And OS X](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/47.jpg)
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](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/48.jpg)
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](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/49.jpg)
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](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/50.jpg)
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](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/51.jpg)
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](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/52.jpg)
DemoHeart rate monitor
Jorge Moriñigo Software Engineer, HealthKit team
![Page 53: Designing Accessories For IOS And OS X](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/53.jpg)
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](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/54.jpg)
HomeKit Accessories
Kevin McLaughlin Wireless Software Engineering
![Page 55: Designing Accessories For IOS And OS X](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/55.jpg)
HomeKit
![Page 56: Designing Accessories For IOS And OS X](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/56.jpg)
HomeKit
Bring exciting new accessories to our users
![Page 57: Designing Accessories For IOS And OS X](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/57.jpg)
HomeKit
Bring exciting new accessories to our users
Provide consistent user experience
![Page 58: Designing Accessories For IOS And OS X](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/58.jpg)
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](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/59.jpg)
HomeKit Accessory Protocol
![Page 60: Designing Accessories For IOS And OS X](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/60.jpg)
HomeKit Accessory Protocol
HomeKit
Accessory
Protocol
![Page 61: Designing Accessories For IOS And OS X](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/61.jpg)
HomeKit Accessory Protocol
HomeKit
Accessory
Protocol
“HAP”
![Page 62: Designing Accessories For IOS And OS X](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/62.jpg)
HomeKit Accessory ProtocolConnecting accessories to HomeKit
![Page 63: Designing Accessories For IOS And OS X](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/63.jpg)
HomeKit Accessory ProtocolConnecting accessories to HomeKit
Transports • Bluetooth Low Energy
• IP
![Page 64: Designing Accessories For IOS And OS X](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/64.jpg)
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](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/65.jpg)
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](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/66.jpg)
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](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/67.jpg)
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](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/68.jpg)
HomeKit Accessory Protocol Layers
![Page 69: Designing Accessories For IOS And OS X](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/69.jpg)
HomeKit Accessory Protocol Layers
Bluetooth LE IP
![Page 70: Designing Accessories For IOS And OS X](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/70.jpg)
HomeKit Accessory Protocol Layers
Bluetooth LE IP
L2CAP TCP
![Page 71: Designing Accessories For IOS And OS X](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/71.jpg)
HomeKit Accessory Protocol Layers
Bluetooth LE IP
L2CAP TCP
Attribute Protocol (ATT) HTTP
![Page 72: Designing Accessories For IOS And OS X](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/72.jpg)
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](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/73.jpg)
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](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/74.jpg)
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](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/75.jpg)
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](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/76.jpg)
Garage Door OpenerServices and characteristics example
![Page 77: Designing Accessories For IOS And OS X](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/77.jpg)
Garage Door OpenerServices and characteristics example
accessory : {
![Page 78: Designing Accessories For IOS And OS X](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/78.jpg)
Garage Door OpenerServices and characteristics example
accessory : { service1 : “public.hap.accessory-information” {
![Page 79: Designing Accessories For IOS And OS X](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/79.jpg)
Garage Door OpenerServices and characteristics example
accessory : { service1 : “public.hap.accessory-information” { characteristic : “serial-number”
![Page 80: Designing Accessories For IOS And OS X](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/80.jpg)
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](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/81.jpg)
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](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/82.jpg)
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](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/83.jpg)
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](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/84.jpg)
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](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/85.jpg)
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](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/86.jpg)
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](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/87.jpg)
IP Details
![Page 88: Designing Accessories For IOS And OS X](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/88.jpg)
IP Details
Remote access through HomeKit
![Page 89: Designing Accessories For IOS And OS X](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/89.jpg)
IP Details
Remote access through HomeKit
Bonjour for accessory discovery
![Page 90: Designing Accessories For IOS And OS X](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/90.jpg)
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](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/91.jpg)
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](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/92.jpg)
Bluetooth Low Energy Details
![Page 93: Designing Accessories For IOS And OS X](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/93.jpg)
Bluetooth Low Energy Details
Remote access through HomeKit
![Page 94: Designing Accessories For IOS And OS X](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/94.jpg)
Bluetooth Low Energy Details
Remote access through HomeKit
Apple-defined advertisement data for HAP
![Page 95: Designing Accessories For IOS And OS X](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/95.jpg)
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](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/96.jpg)
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](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/97.jpg)
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](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/98.jpg)
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](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/99.jpg)
Next Steps
![Page 100: Designing Accessories For IOS And OS X](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/100.jpg)
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](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/101.jpg)
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](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/102.jpg)
AirPlay
![Page 103: Designing Accessories For IOS And OS X](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/103.jpg)
AirPlay
Audio handling changes • Accessory side skew compensation
• Buffer underrun handling
![Page 104: Designing Accessories For IOS And OS X](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/104.jpg)
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](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/105.jpg)
iAP2 and External Accessory Framework
![Page 106: Designing Accessories For IOS And OS X](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/106.jpg)
iAP2 and External Accessory FrameworkMedia playback enhancements for accessories
![Page 107: Designing Accessories For IOS And OS X](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/107.jpg)
iAP2 and External Accessory FrameworkMedia playback enhancements for accessories
Access to playback queue
![Page 108: Designing Accessories For IOS And OS X](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/108.jpg)
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](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/109.jpg)
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](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/110.jpg)
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](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/111.jpg)
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](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/112.jpg)
iAP2 and External Accessory FrameworkAdditional enhancements for accessories
![Page 113: Designing Accessories For IOS And OS X](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/113.jpg)
iAP2 and External Accessory FrameworkAdditional enhancements for accessories
Simplified time synchronization
![Page 114: Designing Accessories For IOS And OS X](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/114.jpg)
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](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/115.jpg)
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](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/116.jpg)
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](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/117.jpg)
Wireless Accessory Configuration
![Page 118: Designing Accessories For IOS And OS X](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/118.jpg)
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](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/119.jpg)
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](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/120.jpg)
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](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/121.jpg)
Wireless Accessory ConfigurationUser selects an accessory
![Page 122: Designing Accessories For IOS And OS X](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/122.jpg)
Wireless Accessory ConfigurationUser selects an accessory
Begin configuring the accessory [browser configureAccessory:accessoryToConfigure withConfigurationUIOnViewController:self];
![Page 123: Designing Accessories For IOS And OS X](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/123.jpg)
Wireless Accessory ConfigurationUser configures Wi-Fi accessory
![Page 124: Designing Accessories For IOS And OS X](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/124.jpg)
Wireless Accessory ConfigurationUser configures Wi-Fi accessory
![Page 125: Designing Accessories For IOS And OS X](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/125.jpg)
Wireless Accessory ConfigurationUser configures Wi-Fi accessory
![Page 126: Designing Accessories For IOS And OS X](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/126.jpg)
Wireless Accessory ConfigurationConfiguration complete
![Page 127: Designing Accessories For IOS And OS X](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/127.jpg)
Summary
HealthKit
HomeKit
Media playback enhancements for accessories
App-driven Wireless Accessory Configuration
![Page 128: Designing Accessories For IOS And OS X](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/128.jpg)
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](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/129.jpg)
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](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/130.jpg)
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](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/131.jpg)
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](https://reader030.fdocuments.in/reader030/viewer/2022020718/586a2c211a28ab4e0b8b8d21/html5/thumbnails/132.jpg)