SlideShare a Scribd company logo
Apple Continuity
Presenter : Hem Dutt
Agenda
• What is Apple Continuity?
• What all Apple devices are compatible?
• Different Modules in detail.
• Demo.
• Development.
Apple Continuity
• Continuity is new feature introduced with OS X Yosemite and iOS 8.1
that lets you partner your iPhone with a Mac (or other iOS device) in
order to:
1. Make and receive phone calls.
2. Send and receive text (SMS) or multimedia (MMS) messages.
3. Handoff files between devices.
4. Get online with Instant Hotspot.
5. Use AirDrop.
Compatibility
• Continuity isn’t compatible with all Macs or iOS devices.
The chief factor is whether the Mac or iOS device
features low-power Bluetooth, also known as Bluetooth
4.0.
• However, even if your device does not have Bluetooth
4.0, this only means your Mac is incompatible with most
Continuity features. Phone call and SMS Continuity rely
on Wi-Fi so might work fine.
Phone Calls
• Set up your Mac to take and make Phone calls
1. Open the Settings app on all iOS devices (including
iPhone) and tap the FaceTime entry,then slide the switch
alongside iPhone Mobile Calls.
2. On Mac(s),open FaceTime and in preferences tick
alongside “iPhone Cellular Calls” option.
3. All devices should share the same WiFi.
• iOS 9 is taking this to new levels by allowing devices to be on
different networks.
Phone Calls
SMS/MMS
• Set up SMS/MMS on Mac
1. open the Settings app on your iPhone, then tap the Messages heading.
2. You’ll see a list of any Macs or iOS devices logged into the same iCloud
account.
3. Tapping the switch alongside any will pop-up a PIN prompt, and the PIN
you need to type will be displayed on the Mac or iOS device.
4. Tapping the Allow button on the iPhone after entering the PIN will clear
the dialog boxes on each device.
• Sending a text message on a Mac or iOS device is just like sending a
message to an iMessage user, except you specify the recipient’s phone
number in the To: field of the Messages app, or look them up in the iCloud
address book by typing their name.
SMS/MMS
Handoff
• For Handoff to work you’ll need to have compatible
apps installed on your Mac and iOS devices.
• At the moment these are mostly limited to Apple’s own
apps (Safari, Maps, Notes, Calendar etc).
• Only a handful of third-party apps playing along too
such as Pocket,NYTimes,The Wall Street Journal etc.
• No setup is required for Handoff to work.
Handoff
• Compatible Mac devices:
1. MacBook Air (Mid 2011 or later)
2. MacBook Pro (Mid 2012 or later)
3. Retina MacBook Pro (All models)
4. iMac (Late 2012 or later)
5. Mac Mini (Mid 2011 or later)
6. Mac Pro (Late 2013 or later)
Handoff
Handoff
Instant Hotspot
• If you’re not already connected to a Wi-Fi network, Instant Hotspot lets you
make use your iPhone’s data connection. This is also referred as data
tethering.
• Instant Hotspot will only work if your mobile phone plan allows it. One way
to quickly check is to open Settings, tap Mobile (or Mobile Data), and look
for a heading that reads Personal Hotspot or Set Up Personal Hotspot. If
it’s not there then you should get in touch with your provider.
• Using Instant Hotspot on your Mac is easy – just click the Wi-Fi icon at the
top right of the desktop and select your iPhone from the list (you’ll only see
it if you’re not already connected to Wi-Fi).
• No setup is needed on the iPhone.
Instant Hotspot
Airdrop
• AirDrop is a way to transfer files between devices that
arrived on iPhones and iPads iOS 7.
• It has existed on Macs for even longer, but Macs and iOS
devices were unable to communicate due to differences in
the technology required.
• In Yosemite and iOS 8 Apple has made it possible to use
AirDrop to share files between Mac and iOS devices.
• Like the other Continuity features, AirDrop won’t work on all
Macs.
Development
• From all features provided in continuity, we can develop third party apps using
Handoff.
Handoff Interactions
• Handing off a user activity involves three phases :
1. Create a user activity object for each activity the
user engages in app.
2. Update the user activity object regularly with
information about what the user is doing.
3. Continue the user activity on a different device
when the user requests it.
Adopting Handoff
• Identify the types of user activities that your app supports. For example,
an email app could support composing and reading messages as two
separate user activities.
• For each activity type, your app needs to identify when an activity of that
type begins and ends, and it needs to maintain up-to-date state data
sufficient to enable the activity to continue on another device.
Adopting Handoff
• User activities can be shared among any app signed with the same
team identifier, and you don’t need a one-to-one mapping between
originating and resuming apps. For example, one app creates three
different types of activities, and those activities are resumed by three
different apps on the second device. This asymmetry can be a
common scenario, given the preference for iOS apps to be smaller
and more focused on a dedicated purpose than more comprehensive
Mac apps.
• Document-based apps on iOS and OS X automatically support
Handoff by automatically creating NSUserActivity objects for iCloud-
based documents if the app’s Info.plist property list file includes a
CFBundleDocumentTypes key of
NSUbiquitousDocumentUserActivityType.
Implementing Handoff
• Implementing Handoff in your app requires you to write code that uses APIs in UIKit and
AppKit.
• Creating the User Activity Object:
NSUserActivity* myActivity = [[NSUserActivity alloc] initWithActivityType:
@"com.myCompany.myBrowser.browsing"];
// Initialise userInfo
NSURL* webpageURL = [NSURL URLWithString:@"http://www.myCompany.com"];
myActivity.userInfo = @{
@"docName" : currentDoc,
@"pageNumber" : self.pageNumber,
@"scrollPosition" : self.scrollPosition};myActivity.title = @"Browsing";
[myActivity becomeCurrent];
Implementing Handoff
• Tracking a user activity:
// UIResponder and NSResponder have a userActivity property
NSUserActivity *currentActivity = [self userActivity];
// Build an activity type using the app's bundle identifier
NSString *bundleName = [[NSBundle mainBundle] bundleIdentifier];
NSString *myActivityType = [bundleName stringByAppendingString:@".selected-list"];
if(![[currentActivity activityType] isEqualToString:myActivityType]) {
[currentActivity invalidate];
currentActivity = [[NSUserActivity alloc] initWithActivityType:myActivityType];
[currentActivity setDelegate:self];
[currentActivity setNeedsSave:YES];
[self setUserActivity:currentActivity];
} else {
// Already tracking user activity of this type
[currentActivity setNeedsSave:YES];
}
Implementing Handoff
• Responder override for updating an activity's state :
You can associate responder objects (inheriting from NSResponder on OS X or
UIResponder on iOS) with a given user activity if you set the activity as the responder’s
userActivity property. The system automatically saves the NSUserActivity object at
appropriate times, calling the responder’s updateUserActivityState: override to add current
data to the user activity object using the activity object’s addUserInfoEntriesFromDictionary:
method.
- (void)updateUserActivityState:(NSUserActivity *)userActivity {
. . …
[userActivity setTitle: self.activityTitle];
[userActivity addUserInfoEntriesFromDictionary: self.activityUserInfo];
}
Implementing Handoff
• Continuing an Activity:
Handoff automatically advertises user activities that are available to be
continued on iOS and OS X devices that are in physical proximity to the
originating device and signed into the same iCloud account as the originating
device. When the user chooses to continue a given activity, Handoff launches
the appropriate app and sends the app delegate messages that determine
how the activity is resumed.
Implement the application:willContinueUserActivityWithType: method to
let the user know the activity will continue shortly. Use the the
application:continueUserActivity:restorationHandler: method to configure the
app to continue the activity. The system calls this method when the activity
object, including activity state data in its userInfo dictionary, is available to the
continuing app.
Implementing Handoff
- (BOOL)application:(NSApplication *)application continueUserActivity: (NSUserActivity *)userActivity
restorationHandler: (void (^)(NSArray *))restorationHandler {
BOOL handled = NO;
// Extract the payload
NSString *type = [userActivity activityType];
NSString *title = [userActivity title];
NSDictionary *userInfo = [userActivity userInfo];
// Assume the app delegate has a text field to display the activity information
[appDelegateTextField setStringValue: [NSString stringWithFormat:@"User activity is of type %@, has title %@, and
user info %@",
type, title, userInfo]];
restorationHandler(self.windowControllers);
handled = YES;
return handled;
}
Implementing Handoff
• Continuation Streams:
If resuming an activity requires more data than can be efficiently transferred by the initial
Handoff payload, a continuing app can call back to the originating app’s activity object to
open streams between the apps and transfer more data. In this case, the originating app
sets its NSUserActivity object’s Boolean property supportsContinuationStreams to YES,
sets the user activity delegate, then calls becomeCurrent
• Setting up streams
NSUserActivity* activity = [[NSUserActivity alloc] init];
activity.title = @"Editing Mail";
activity.supportsContinuationStreams = YES;
activity.delegate = self;
[activity becomeCurrent];
Implementing Handoff
• Requesting streams
- (BOOL)application:(UIApplication *)application continueUserActivity: (NSUserActivity *)userActivity
restorationHandler: (void(^)(NSArray *restorableObjects))restorationHandler
{
[userActivity getContinuationStreamsWithCompletionHandler:^(
NSInputStream *inputStream,
NSOutputStream *outputStream, NSError *error) {
// Do something with the streams
}];
return YES;
}
Best Practices
• Transfer as small a payload as possible in the userInfo dictionary—3KB or less. The more payload data
you deliver, the longer it takes the activity to resume.
• When a large amount of data transfer is unavoidable, use streams, but recognise that they have a cost in
terms of network setup and overhead.
• Plan for different versions of apps on different platforms to work well with each other or fail gracefully.
Remember that the complementary app design can be asymmetrical—for example, a monolithic Mac
app can route each of its activity types to smaller, special-purpose apps on iOS.
• Use reverse-DNS notation for your activity types to avoid collisions. If the activity pertains only to a single
app, you can use the app identifier with an extra field appended to describe the activity type. For
example, use a format such as com.<company>.<app>.<activity type>, as in
com.myCompany.myEditor.editing. If you have a user activity that works across more than one app, you
can drop the app field, as in com.myCompany.editing.
• To update the activity object’s userInfo dictionary efficiently, configure its delegate and set its needsSave
property to YES whenever the userInfo needs updating. At appropriate times, Handoff invokes the
delegate’s userActivityWillSave: callback, and the delegate can update the activity state.
• Be sure the delegate of the continuing app implements its application:willContinueUserActivityWithType:
to let the user know the activity will be continued. The user activity object may not be available instantly.

More Related Content

What's hot

Unit 3 cs6601 Distributed Systems
Unit 3 cs6601 Distributed SystemsUnit 3 cs6601 Distributed Systems
Unit 3 cs6601 Distributed Systems
Nandakumar P
 
4.file service architecture (1)
4.file service architecture (1)4.file service architecture (1)
4.file service architecture (1)
AbDul ThaYyal
 
Chapter 8 distributed file systems
Chapter 8 distributed file systemsChapter 8 distributed file systems
Chapter 8 distributed file systems
AbDul ThaYyal
 
Networking slide
Networking slideNetworking slide
Networking slide
Asaduzzaman Kanok
 
network administration directory access and remote access
network administration directory access and remote accessnetwork administration directory access and remote access
network administration directory access and remote access
Sangeetha Rangarajan
 
Parallel programs to multi-processor computers!
Parallel programs to multi-processor computers!Parallel programs to multi-processor computers!
Parallel programs to multi-processor computers!
PVS-Studio
 
VB.NET:An introduction to Namespaces in .NET framework
VB.NET:An introduction to  Namespaces in .NET frameworkVB.NET:An introduction to  Namespaces in .NET framework
VB.NET:An introduction to Namespaces in .NET framework
Richa Handa
 
Tutorial on Parallel Computing and Message Passing Model - C2
Tutorial on Parallel Computing and Message Passing Model - C2Tutorial on Parallel Computing and Message Passing Model - C2
Tutorial on Parallel Computing and Message Passing Model - C2
Marcirio Chaves
 
7 layer OSI model
7 layer OSI model7 layer OSI model
7 layer OSI model
penetration Tester
 
Class Note 02
Class Note 02Class Note 02
Class Note 02
Ridhy Chandro Modak
 
7 Layers OSI model description with 3 unofficial Layers.
7 Layers OSI model description with 3 unofficial Layers.7 Layers OSI model description with 3 unofficial Layers.
7 Layers OSI model description with 3 unofficial Layers.
Kanishk Raj
 
Chapter 3
Chapter 3Chapter 3
Chapter 3
Mina Riyahi
 
The Internet and World Wide Web
The Internet and World Wide WebThe Internet and World Wide Web
The Internet and World Wide Web
webhostingguy
 
Ch1 computer networks internet_encapsulation_4
Ch1 computer networks internet_encapsulation_4Ch1 computer networks internet_encapsulation_4
Ch1 computer networks internet_encapsulation_4
Syed Ariful Islam Emon
 
The internet
The internetThe internet
The internet
brfclouis
 
Chapter 17 - Distributed File Systems
Chapter 17 - Distributed File SystemsChapter 17 - Distributed File Systems
Chapter 17 - Distributed File Systems
Wayne Jones Jnr
 
Tcp IP OSI
Tcp IP OSITcp IP OSI
Tcp IP OSI
penetration Tester
 
Bcs 052 solved assignment
Bcs 052 solved assignmentBcs 052 solved assignment
TCP/IP Modal
TCP/IP ModalTCP/IP Modal
TCP/IP Modal
ParikshitTaksande1
 
Peer to peer network schemes and finding algorithms
Peer to peer network schemes and finding algorithmsPeer to peer network schemes and finding algorithms
Peer to peer network schemes and finding algorithms
Mohamed El Sharnoby
 

What's hot (20)

Unit 3 cs6601 Distributed Systems
Unit 3 cs6601 Distributed SystemsUnit 3 cs6601 Distributed Systems
Unit 3 cs6601 Distributed Systems
 
4.file service architecture (1)
4.file service architecture (1)4.file service architecture (1)
4.file service architecture (1)
 
Chapter 8 distributed file systems
Chapter 8 distributed file systemsChapter 8 distributed file systems
Chapter 8 distributed file systems
 
Networking slide
Networking slideNetworking slide
Networking slide
 
network administration directory access and remote access
network administration directory access and remote accessnetwork administration directory access and remote access
network administration directory access and remote access
 
Parallel programs to multi-processor computers!
Parallel programs to multi-processor computers!Parallel programs to multi-processor computers!
Parallel programs to multi-processor computers!
 
VB.NET:An introduction to Namespaces in .NET framework
VB.NET:An introduction to  Namespaces in .NET frameworkVB.NET:An introduction to  Namespaces in .NET framework
VB.NET:An introduction to Namespaces in .NET framework
 
Tutorial on Parallel Computing and Message Passing Model - C2
Tutorial on Parallel Computing and Message Passing Model - C2Tutorial on Parallel Computing and Message Passing Model - C2
Tutorial on Parallel Computing and Message Passing Model - C2
 
7 layer OSI model
7 layer OSI model7 layer OSI model
7 layer OSI model
 
Class Note 02
Class Note 02Class Note 02
Class Note 02
 
7 Layers OSI model description with 3 unofficial Layers.
7 Layers OSI model description with 3 unofficial Layers.7 Layers OSI model description with 3 unofficial Layers.
7 Layers OSI model description with 3 unofficial Layers.
 
Chapter 3
Chapter 3Chapter 3
Chapter 3
 
The Internet and World Wide Web
The Internet and World Wide WebThe Internet and World Wide Web
The Internet and World Wide Web
 
Ch1 computer networks internet_encapsulation_4
Ch1 computer networks internet_encapsulation_4Ch1 computer networks internet_encapsulation_4
Ch1 computer networks internet_encapsulation_4
 
The internet
The internetThe internet
The internet
 
Chapter 17 - Distributed File Systems
Chapter 17 - Distributed File SystemsChapter 17 - Distributed File Systems
Chapter 17 - Distributed File Systems
 
Tcp IP OSI
Tcp IP OSITcp IP OSI
Tcp IP OSI
 
Bcs 052 solved assignment
Bcs 052 solved assignmentBcs 052 solved assignment
Bcs 052 solved assignment
 
TCP/IP Modal
TCP/IP ModalTCP/IP Modal
TCP/IP Modal
 
Peer to peer network schemes and finding algorithms
Peer to peer network schemes and finding algorithmsPeer to peer network schemes and finding algorithms
Peer to peer network schemes and finding algorithms
 

Viewers also liked

Inter-Process Communication (IPC) techniques on Mac OS X
Inter-Process Communication (IPC) techniques on Mac OS XInter-Process Communication (IPC) techniques on Mac OS X
Inter-Process Communication (IPC) techniques on Mac OS X
HEM DUTT
 
Fj realty
Fj realtyFj realty
Fj realty
Fiona Bronner
 
Chevrolet - The most iconic brand of cars in America
Chevrolet - The most iconic brand of cars in AmericaChevrolet - The most iconic brand of cars in America
Chevrolet - The most iconic brand of cars in America
Vinay Parikh
 
Hummer
HummerHummer
Hummer
kathrynpoh
 
BMW_Presentation_Professor
BMW_Presentation_ProfessorBMW_Presentation_Professor
BMW_Presentation_Professor
Brent Aguilar
 
Apple Computer
Apple ComputerApple Computer
Apple Computer
Eric Moon
 
knowledge management in ford motors by amitesh singh yadav.
knowledge management in ford motors by amitesh singh yadav.knowledge management in ford motors by amitesh singh yadav.
knowledge management in ford motors by amitesh singh yadav.
Amitesh Singh Yadav
 
Pistol And Cannon Mechanism
Pistol And Cannon MechanismPistol And Cannon Mechanism
Pistol And Cannon Mechanism
Siva Chidambaram
 
Bmw brand health check
Bmw brand health checkBmw brand health check
Bmw brand health check
A I
 
Hummer
HummerHummer
Hummer
ashoo2005
 
Gm Presentation3
Gm  Presentation3Gm  Presentation3
Gm Presentation3
hasil zaheer
 
IRAQ WAR 2003 - 2011
IRAQ  WAR   2003 -  2011IRAQ  WAR   2003 -  2011
IRAQ WAR 2003 - 2011
Nikos
 
Why electric cars?
Why electric cars?Why electric cars?
Why electric cars?
Proterra Inc
 
Klashnikov [ak 47]
Klashnikov  [ak 47]Klashnikov  [ak 47]
Klashnikov [ak 47]
Naveen Sihag
 
Lamborghini brand analysis
Lamborghini brand analysisLamborghini brand analysis
Lamborghini brand analysis
Balu G
 
Ford motor final presentation
Ford motor final presentationFord motor final presentation
Ford motor final presentation
adithya_msridhar
 
Islamic State of Iraq and Syria (ISIS)
Islamic State of Iraq and Syria (ISIS)Islamic State of Iraq and Syria (ISIS)
Islamic State of Iraq and Syria (ISIS)
Nitin Sharma
 
Driverless cars
Driverless carsDriverless cars
Driverless cars
gueste2f4593
 
Audi power point presentation (2)
Audi power point presentation (2)Audi power point presentation (2)
Audi power point presentation (2)
Mishal Nazir
 
Apple presentation.ppt
Apple presentation.pptApple presentation.ppt
Apple presentation.ppt
Rakesh Kumar
 

Viewers also liked (20)

Inter-Process Communication (IPC) techniques on Mac OS X
Inter-Process Communication (IPC) techniques on Mac OS XInter-Process Communication (IPC) techniques on Mac OS X
Inter-Process Communication (IPC) techniques on Mac OS X
 
Fj realty
Fj realtyFj realty
Fj realty
 
Chevrolet - The most iconic brand of cars in America
Chevrolet - The most iconic brand of cars in AmericaChevrolet - The most iconic brand of cars in America
Chevrolet - The most iconic brand of cars in America
 
Hummer
HummerHummer
Hummer
 
BMW_Presentation_Professor
BMW_Presentation_ProfessorBMW_Presentation_Professor
BMW_Presentation_Professor
 
Apple Computer
Apple ComputerApple Computer
Apple Computer
 
knowledge management in ford motors by amitesh singh yadav.
knowledge management in ford motors by amitesh singh yadav.knowledge management in ford motors by amitesh singh yadav.
knowledge management in ford motors by amitesh singh yadav.
 
Pistol And Cannon Mechanism
Pistol And Cannon MechanismPistol And Cannon Mechanism
Pistol And Cannon Mechanism
 
Bmw brand health check
Bmw brand health checkBmw brand health check
Bmw brand health check
 
Hummer
HummerHummer
Hummer
 
Gm Presentation3
Gm  Presentation3Gm  Presentation3
Gm Presentation3
 
IRAQ WAR 2003 - 2011
IRAQ  WAR   2003 -  2011IRAQ  WAR   2003 -  2011
IRAQ WAR 2003 - 2011
 
Why electric cars?
Why electric cars?Why electric cars?
Why electric cars?
 
Klashnikov [ak 47]
Klashnikov  [ak 47]Klashnikov  [ak 47]
Klashnikov [ak 47]
 
Lamborghini brand analysis
Lamborghini brand analysisLamborghini brand analysis
Lamborghini brand analysis
 
Ford motor final presentation
Ford motor final presentationFord motor final presentation
Ford motor final presentation
 
Islamic State of Iraq and Syria (ISIS)
Islamic State of Iraq and Syria (ISIS)Islamic State of Iraq and Syria (ISIS)
Islamic State of Iraq and Syria (ISIS)
 
Driverless cars
Driverless carsDriverless cars
Driverless cars
 
Audi power point presentation (2)
Audi power point presentation (2)Audi power point presentation (2)
Audi power point presentation (2)
 
Apple presentation.ppt
Apple presentation.pptApple presentation.ppt
Apple presentation.ppt
 

Similar to Apple continuity

IOT/Mobile/Cloud - Next Connected World
IOT/Mobile/Cloud  - Next Connected WorldIOT/Mobile/Cloud  - Next Connected World
IOT/Mobile/Cloud - Next Connected World
Ravi Dalmia
 
Apple iOS Documentation
Apple iOS DocumentationApple iOS Documentation
Apple iOS Documentation
Charan Reddy Mutyala
 
Ios - Introduction to swift programming
Ios - Introduction to swift programmingIos - Introduction to swift programming
Ios - Introduction to swift programming
Vibrant Technologies & Computers
 
Workflow automation i phone application for a construction company
Workflow automation i phone application for a construction companyWorkflow automation i phone application for a construction company
Workflow automation i phone application for a construction company
Mike Taylor
 
HCI Guidelines for iOS Platforms
HCI Guidelines for iOS PlatformsHCI Guidelines for iOS Platforms
HCI Guidelines for iOS Platforms
Martin Ebner
 
Community App for Promoting Cross-Cultural Interaction
Community App for Promoting Cross-Cultural InteractionCommunity App for Promoting Cross-Cultural Interaction
Community App for Promoting Cross-Cultural Interaction
Mike Taylor
 
Community App for Promoting Cross-Cultural Interaction
Community App for Promoting Cross-Cultural InteractionCommunity App for Promoting Cross-Cultural Interaction
Community App for Promoting Cross-Cultural Interaction
Mike Taylor
 
iOS 8 Pre-Release Briefing
iOS 8 Pre-Release BriefingiOS 8 Pre-Release Briefing
iOS 8 Pre-Release Briefing
The App Business
 
IOT
IOTIOT
Dia 1 intro to mobile and xamarin
Dia 1   intro to mobile and xamarinDia 1   intro to mobile and xamarin
Dia 1 intro to mobile and xamarin
Hernan Zaldivar
 
DESIGN AND DEVELOPMENT OF A MULTI FEATURED IOS MOBILE APPLICATION USING SWIFT 3
DESIGN AND DEVELOPMENT OF A MULTI FEATURED IOS MOBILE APPLICATION USING SWIFT 3DESIGN AND DEVELOPMENT OF A MULTI FEATURED IOS MOBILE APPLICATION USING SWIFT 3
DESIGN AND DEVELOPMENT OF A MULTI FEATURED IOS MOBILE APPLICATION USING SWIFT 3
Journal For Research
 
Build apps for Apple Watch
Build apps for Apple WatchBuild apps for Apple Watch
Build apps for Apple Watch
Francesco Novelli
 
Build Apps for Apple Watch - Francesco Novelli - Codemotion Milan 2016
Build Apps for Apple Watch - Francesco Novelli - Codemotion Milan 2016Build Apps for Apple Watch - Francesco Novelli - Codemotion Milan 2016
Build Apps for Apple Watch - Francesco Novelli - Codemotion Milan 2016
Codemotion
 
All about APPS
All about APPSAll about APPS
All about APPS
DaisyJeffenYRios
 
What Do You Need to Know About OS X Yosemite?
What Do You Need to Know About OS X Yosemite?What Do You Need to Know About OS X Yosemite?
What Do You Need to Know About OS X Yosemite?
360 Degree Technosoft
 
IOS7
IOS7IOS7
MSR iOS Tranining
MSR iOS TraniningMSR iOS Tranining
MSR iOS Tranining
Prabin Datta
 
A seminar report on i cloud
A  seminar report on i cloudA  seminar report on i cloud
A seminar report on i cloud
Nagamalleswararao Tadikonda
 
Smart phones
Smart phonesSmart phones
Smart phones
Karthik Ak
 
MOBILE-APP-DEVELOPMENT.for college students
MOBILE-APP-DEVELOPMENT.for college studentsMOBILE-APP-DEVELOPMENT.for college students
MOBILE-APP-DEVELOPMENT.for college students
AprilJasminePacis
 

Similar to Apple continuity (20)

IOT/Mobile/Cloud - Next Connected World
IOT/Mobile/Cloud  - Next Connected WorldIOT/Mobile/Cloud  - Next Connected World
IOT/Mobile/Cloud - Next Connected World
 
Apple iOS Documentation
Apple iOS DocumentationApple iOS Documentation
Apple iOS Documentation
 
Ios - Introduction to swift programming
Ios - Introduction to swift programmingIos - Introduction to swift programming
Ios - Introduction to swift programming
 
Workflow automation i phone application for a construction company
Workflow automation i phone application for a construction companyWorkflow automation i phone application for a construction company
Workflow automation i phone application for a construction company
 
HCI Guidelines for iOS Platforms
HCI Guidelines for iOS PlatformsHCI Guidelines for iOS Platforms
HCI Guidelines for iOS Platforms
 
Community App for Promoting Cross-Cultural Interaction
Community App for Promoting Cross-Cultural InteractionCommunity App for Promoting Cross-Cultural Interaction
Community App for Promoting Cross-Cultural Interaction
 
Community App for Promoting Cross-Cultural Interaction
Community App for Promoting Cross-Cultural InteractionCommunity App for Promoting Cross-Cultural Interaction
Community App for Promoting Cross-Cultural Interaction
 
iOS 8 Pre-Release Briefing
iOS 8 Pre-Release BriefingiOS 8 Pre-Release Briefing
iOS 8 Pre-Release Briefing
 
IOT
IOTIOT
IOT
 
Dia 1 intro to mobile and xamarin
Dia 1   intro to mobile and xamarinDia 1   intro to mobile and xamarin
Dia 1 intro to mobile and xamarin
 
DESIGN AND DEVELOPMENT OF A MULTI FEATURED IOS MOBILE APPLICATION USING SWIFT 3
DESIGN AND DEVELOPMENT OF A MULTI FEATURED IOS MOBILE APPLICATION USING SWIFT 3DESIGN AND DEVELOPMENT OF A MULTI FEATURED IOS MOBILE APPLICATION USING SWIFT 3
DESIGN AND DEVELOPMENT OF A MULTI FEATURED IOS MOBILE APPLICATION USING SWIFT 3
 
Build apps for Apple Watch
Build apps for Apple WatchBuild apps for Apple Watch
Build apps for Apple Watch
 
Build Apps for Apple Watch - Francesco Novelli - Codemotion Milan 2016
Build Apps for Apple Watch - Francesco Novelli - Codemotion Milan 2016Build Apps for Apple Watch - Francesco Novelli - Codemotion Milan 2016
Build Apps for Apple Watch - Francesco Novelli - Codemotion Milan 2016
 
All about APPS
All about APPSAll about APPS
All about APPS
 
What Do You Need to Know About OS X Yosemite?
What Do You Need to Know About OS X Yosemite?What Do You Need to Know About OS X Yosemite?
What Do You Need to Know About OS X Yosemite?
 
IOS7
IOS7IOS7
IOS7
 
MSR iOS Tranining
MSR iOS TraniningMSR iOS Tranining
MSR iOS Tranining
 
A seminar report on i cloud
A  seminar report on i cloudA  seminar report on i cloud
A seminar report on i cloud
 
Smart phones
Smart phonesSmart phones
Smart phones
 
MOBILE-APP-DEVELOPMENT.for college students
MOBILE-APP-DEVELOPMENT.for college studentsMOBILE-APP-DEVELOPMENT.for college students
MOBILE-APP-DEVELOPMENT.for college students
 

Recently uploaded

原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样
原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样
原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样
ydzowc
 
Properties Railway Sleepers and Test.pptx
Properties Railway Sleepers and Test.pptxProperties Railway Sleepers and Test.pptx
Properties Railway Sleepers and Test.pptx
MDSABBIROJJAMANPAYEL
 
CEC 352 - SATELLITE COMMUNICATION UNIT 1
CEC 352 - SATELLITE COMMUNICATION UNIT 1CEC 352 - SATELLITE COMMUNICATION UNIT 1
CEC 352 - SATELLITE COMMUNICATION UNIT 1
PKavitha10
 
ITSM Integration with MuleSoft.pptx
ITSM  Integration with MuleSoft.pptxITSM  Integration with MuleSoft.pptx
ITSM Integration with MuleSoft.pptx
VANDANAMOHANGOUDA
 
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODELDEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
ijaia
 
Applications of artificial Intelligence in Mechanical Engineering.pdf
Applications of artificial Intelligence in Mechanical Engineering.pdfApplications of artificial Intelligence in Mechanical Engineering.pdf
Applications of artificial Intelligence in Mechanical Engineering.pdf
Atif Razi
 
Embedded machine learning-based road conditions and driving behavior monitoring
Embedded machine learning-based road conditions and driving behavior monitoringEmbedded machine learning-based road conditions and driving behavior monitoring
Embedded machine learning-based road conditions and driving behavior monitoring
IJECEIAES
 
Data Driven Maintenance | UReason Webinar
Data Driven Maintenance | UReason WebinarData Driven Maintenance | UReason Webinar
Data Driven Maintenance | UReason Webinar
UReason
 
Computational Engineering IITH Presentation
Computational Engineering IITH PresentationComputational Engineering IITH Presentation
Computational Engineering IITH Presentation
co23btech11018
 
4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf
4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf
4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf
Gino153088
 
Generative AI Use cases applications solutions and implementation.pdf
Generative AI Use cases applications solutions and implementation.pdfGenerative AI Use cases applications solutions and implementation.pdf
Generative AI Use cases applications solutions and implementation.pdf
mahaffeycheryld
 
Null Bangalore | Pentesters Approach to AWS IAM
Null Bangalore | Pentesters Approach to AWS IAMNull Bangalore | Pentesters Approach to AWS IAM
Null Bangalore | Pentesters Approach to AWS IAM
Divyanshu
 
TIME TABLE MANAGEMENT SYSTEM testing.pptx
TIME TABLE MANAGEMENT SYSTEM testing.pptxTIME TABLE MANAGEMENT SYSTEM testing.pptx
TIME TABLE MANAGEMENT SYSTEM testing.pptx
CVCSOfficial
 
CompEx~Manual~1210 (2).pdf COMPEX GAS AND VAPOURS
CompEx~Manual~1210 (2).pdf COMPEX GAS AND VAPOURSCompEx~Manual~1210 (2).pdf COMPEX GAS AND VAPOURS
CompEx~Manual~1210 (2).pdf COMPEX GAS AND VAPOURS
RamonNovais6
 
1FIDIC-CONSTRUCTION-CONTRACT-2ND-ED-2017-RED-BOOK.pdf
1FIDIC-CONSTRUCTION-CONTRACT-2ND-ED-2017-RED-BOOK.pdf1FIDIC-CONSTRUCTION-CONTRACT-2ND-ED-2017-RED-BOOK.pdf
1FIDIC-CONSTRUCTION-CONTRACT-2ND-ED-2017-RED-BOOK.pdf
MadhavJungKarki
 
Gas agency management system project report.pdf
Gas agency management system project report.pdfGas agency management system project report.pdf
Gas agency management system project report.pdf
Kamal Acharya
 
AI for Legal Research with applications, tools
AI for Legal Research with applications, toolsAI for Legal Research with applications, tools
AI for Legal Research with applications, tools
mahaffeycheryld
 
一比一原版(uofo毕业证书)美国俄勒冈大学毕业证如何办理
一比一原版(uofo毕业证书)美国俄勒冈大学毕业证如何办理一比一原版(uofo毕业证书)美国俄勒冈大学毕业证如何办理
一比一原版(uofo毕业证书)美国俄勒冈大学毕业证如何办理
upoux
 
22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt
KrishnaveniKrishnara1
 
Software Engineering and Project Management - Introduction, Modeling Concepts...
Software Engineering and Project Management - Introduction, Modeling Concepts...Software Engineering and Project Management - Introduction, Modeling Concepts...
Software Engineering and Project Management - Introduction, Modeling Concepts...
Prakhyath Rai
 

Recently uploaded (20)

原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样
原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样
原版制作(Humboldt毕业证书)柏林大学毕业证学位证一模一样
 
Properties Railway Sleepers and Test.pptx
Properties Railway Sleepers and Test.pptxProperties Railway Sleepers and Test.pptx
Properties Railway Sleepers and Test.pptx
 
CEC 352 - SATELLITE COMMUNICATION UNIT 1
CEC 352 - SATELLITE COMMUNICATION UNIT 1CEC 352 - SATELLITE COMMUNICATION UNIT 1
CEC 352 - SATELLITE COMMUNICATION UNIT 1
 
ITSM Integration with MuleSoft.pptx
ITSM  Integration with MuleSoft.pptxITSM  Integration with MuleSoft.pptx
ITSM Integration with MuleSoft.pptx
 
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODELDEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
 
Applications of artificial Intelligence in Mechanical Engineering.pdf
Applications of artificial Intelligence in Mechanical Engineering.pdfApplications of artificial Intelligence in Mechanical Engineering.pdf
Applications of artificial Intelligence in Mechanical Engineering.pdf
 
Embedded machine learning-based road conditions and driving behavior monitoring
Embedded machine learning-based road conditions and driving behavior monitoringEmbedded machine learning-based road conditions and driving behavior monitoring
Embedded machine learning-based road conditions and driving behavior monitoring
 
Data Driven Maintenance | UReason Webinar
Data Driven Maintenance | UReason WebinarData Driven Maintenance | UReason Webinar
Data Driven Maintenance | UReason Webinar
 
Computational Engineering IITH Presentation
Computational Engineering IITH PresentationComputational Engineering IITH Presentation
Computational Engineering IITH Presentation
 
4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf
4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf
4. Mosca vol I -Fisica-Tipler-5ta-Edicion-Vol-1.pdf
 
Generative AI Use cases applications solutions and implementation.pdf
Generative AI Use cases applications solutions and implementation.pdfGenerative AI Use cases applications solutions and implementation.pdf
Generative AI Use cases applications solutions and implementation.pdf
 
Null Bangalore | Pentesters Approach to AWS IAM
Null Bangalore | Pentesters Approach to AWS IAMNull Bangalore | Pentesters Approach to AWS IAM
Null Bangalore | Pentesters Approach to AWS IAM
 
TIME TABLE MANAGEMENT SYSTEM testing.pptx
TIME TABLE MANAGEMENT SYSTEM testing.pptxTIME TABLE MANAGEMENT SYSTEM testing.pptx
TIME TABLE MANAGEMENT SYSTEM testing.pptx
 
CompEx~Manual~1210 (2).pdf COMPEX GAS AND VAPOURS
CompEx~Manual~1210 (2).pdf COMPEX GAS AND VAPOURSCompEx~Manual~1210 (2).pdf COMPEX GAS AND VAPOURS
CompEx~Manual~1210 (2).pdf COMPEX GAS AND VAPOURS
 
1FIDIC-CONSTRUCTION-CONTRACT-2ND-ED-2017-RED-BOOK.pdf
1FIDIC-CONSTRUCTION-CONTRACT-2ND-ED-2017-RED-BOOK.pdf1FIDIC-CONSTRUCTION-CONTRACT-2ND-ED-2017-RED-BOOK.pdf
1FIDIC-CONSTRUCTION-CONTRACT-2ND-ED-2017-RED-BOOK.pdf
 
Gas agency management system project report.pdf
Gas agency management system project report.pdfGas agency management system project report.pdf
Gas agency management system project report.pdf
 
AI for Legal Research with applications, tools
AI for Legal Research with applications, toolsAI for Legal Research with applications, tools
AI for Legal Research with applications, tools
 
一比一原版(uofo毕业证书)美国俄勒冈大学毕业证如何办理
一比一原版(uofo毕业证书)美国俄勒冈大学毕业证如何办理一比一原版(uofo毕业证书)美国俄勒冈大学毕业证如何办理
一比一原版(uofo毕业证书)美国俄勒冈大学毕业证如何办理
 
22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt
 
Software Engineering and Project Management - Introduction, Modeling Concepts...
Software Engineering and Project Management - Introduction, Modeling Concepts...Software Engineering and Project Management - Introduction, Modeling Concepts...
Software Engineering and Project Management - Introduction, Modeling Concepts...
 

Apple continuity

  • 2. Agenda • What is Apple Continuity? • What all Apple devices are compatible? • Different Modules in detail. • Demo. • Development.
  • 3. Apple Continuity • Continuity is new feature introduced with OS X Yosemite and iOS 8.1 that lets you partner your iPhone with a Mac (or other iOS device) in order to: 1. Make and receive phone calls. 2. Send and receive text (SMS) or multimedia (MMS) messages. 3. Handoff files between devices. 4. Get online with Instant Hotspot. 5. Use AirDrop.
  • 4. Compatibility • Continuity isn’t compatible with all Macs or iOS devices. The chief factor is whether the Mac or iOS device features low-power Bluetooth, also known as Bluetooth 4.0. • However, even if your device does not have Bluetooth 4.0, this only means your Mac is incompatible with most Continuity features. Phone call and SMS Continuity rely on Wi-Fi so might work fine.
  • 5. Phone Calls • Set up your Mac to take and make Phone calls 1. Open the Settings app on all iOS devices (including iPhone) and tap the FaceTime entry,then slide the switch alongside iPhone Mobile Calls. 2. On Mac(s),open FaceTime and in preferences tick alongside “iPhone Cellular Calls” option. 3. All devices should share the same WiFi. • iOS 9 is taking this to new levels by allowing devices to be on different networks.
  • 7. SMS/MMS • Set up SMS/MMS on Mac 1. open the Settings app on your iPhone, then tap the Messages heading. 2. You’ll see a list of any Macs or iOS devices logged into the same iCloud account. 3. Tapping the switch alongside any will pop-up a PIN prompt, and the PIN you need to type will be displayed on the Mac or iOS device. 4. Tapping the Allow button on the iPhone after entering the PIN will clear the dialog boxes on each device. • Sending a text message on a Mac or iOS device is just like sending a message to an iMessage user, except you specify the recipient’s phone number in the To: field of the Messages app, or look them up in the iCloud address book by typing their name.
  • 9. Handoff • For Handoff to work you’ll need to have compatible apps installed on your Mac and iOS devices. • At the moment these are mostly limited to Apple’s own apps (Safari, Maps, Notes, Calendar etc). • Only a handful of third-party apps playing along too such as Pocket,NYTimes,The Wall Street Journal etc. • No setup is required for Handoff to work.
  • 10. Handoff • Compatible Mac devices: 1. MacBook Air (Mid 2011 or later) 2. MacBook Pro (Mid 2012 or later) 3. Retina MacBook Pro (All models) 4. iMac (Late 2012 or later) 5. Mac Mini (Mid 2011 or later) 6. Mac Pro (Late 2013 or later)
  • 13. Instant Hotspot • If you’re not already connected to a Wi-Fi network, Instant Hotspot lets you make use your iPhone’s data connection. This is also referred as data tethering. • Instant Hotspot will only work if your mobile phone plan allows it. One way to quickly check is to open Settings, tap Mobile (or Mobile Data), and look for a heading that reads Personal Hotspot or Set Up Personal Hotspot. If it’s not there then you should get in touch with your provider. • Using Instant Hotspot on your Mac is easy – just click the Wi-Fi icon at the top right of the desktop and select your iPhone from the list (you’ll only see it if you’re not already connected to Wi-Fi). • No setup is needed on the iPhone.
  • 15. Airdrop • AirDrop is a way to transfer files between devices that arrived on iPhones and iPads iOS 7. • It has existed on Macs for even longer, but Macs and iOS devices were unable to communicate due to differences in the technology required. • In Yosemite and iOS 8 Apple has made it possible to use AirDrop to share files between Mac and iOS devices. • Like the other Continuity features, AirDrop won’t work on all Macs.
  • 16. Development • From all features provided in continuity, we can develop third party apps using Handoff.
  • 17. Handoff Interactions • Handing off a user activity involves three phases : 1. Create a user activity object for each activity the user engages in app. 2. Update the user activity object regularly with information about what the user is doing. 3. Continue the user activity on a different device when the user requests it.
  • 18. Adopting Handoff • Identify the types of user activities that your app supports. For example, an email app could support composing and reading messages as two separate user activities. • For each activity type, your app needs to identify when an activity of that type begins and ends, and it needs to maintain up-to-date state data sufficient to enable the activity to continue on another device.
  • 19. Adopting Handoff • User activities can be shared among any app signed with the same team identifier, and you don’t need a one-to-one mapping between originating and resuming apps. For example, one app creates three different types of activities, and those activities are resumed by three different apps on the second device. This asymmetry can be a common scenario, given the preference for iOS apps to be smaller and more focused on a dedicated purpose than more comprehensive Mac apps. • Document-based apps on iOS and OS X automatically support Handoff by automatically creating NSUserActivity objects for iCloud- based documents if the app’s Info.plist property list file includes a CFBundleDocumentTypes key of NSUbiquitousDocumentUserActivityType.
  • 20. Implementing Handoff • Implementing Handoff in your app requires you to write code that uses APIs in UIKit and AppKit. • Creating the User Activity Object: NSUserActivity* myActivity = [[NSUserActivity alloc] initWithActivityType: @"com.myCompany.myBrowser.browsing"]; // Initialise userInfo NSURL* webpageURL = [NSURL URLWithString:@"http://www.myCompany.com"]; myActivity.userInfo = @{ @"docName" : currentDoc, @"pageNumber" : self.pageNumber, @"scrollPosition" : self.scrollPosition};myActivity.title = @"Browsing"; [myActivity becomeCurrent];
  • 21. Implementing Handoff • Tracking a user activity: // UIResponder and NSResponder have a userActivity property NSUserActivity *currentActivity = [self userActivity]; // Build an activity type using the app's bundle identifier NSString *bundleName = [[NSBundle mainBundle] bundleIdentifier]; NSString *myActivityType = [bundleName stringByAppendingString:@".selected-list"]; if(![[currentActivity activityType] isEqualToString:myActivityType]) { [currentActivity invalidate]; currentActivity = [[NSUserActivity alloc] initWithActivityType:myActivityType]; [currentActivity setDelegate:self]; [currentActivity setNeedsSave:YES]; [self setUserActivity:currentActivity]; } else { // Already tracking user activity of this type [currentActivity setNeedsSave:YES]; }
  • 22. Implementing Handoff • Responder override for updating an activity's state : You can associate responder objects (inheriting from NSResponder on OS X or UIResponder on iOS) with a given user activity if you set the activity as the responder’s userActivity property. The system automatically saves the NSUserActivity object at appropriate times, calling the responder’s updateUserActivityState: override to add current data to the user activity object using the activity object’s addUserInfoEntriesFromDictionary: method. - (void)updateUserActivityState:(NSUserActivity *)userActivity { . . … [userActivity setTitle: self.activityTitle]; [userActivity addUserInfoEntriesFromDictionary: self.activityUserInfo]; }
  • 23. Implementing Handoff • Continuing an Activity: Handoff automatically advertises user activities that are available to be continued on iOS and OS X devices that are in physical proximity to the originating device and signed into the same iCloud account as the originating device. When the user chooses to continue a given activity, Handoff launches the appropriate app and sends the app delegate messages that determine how the activity is resumed. Implement the application:willContinueUserActivityWithType: method to let the user know the activity will continue shortly. Use the the application:continueUserActivity:restorationHandler: method to configure the app to continue the activity. The system calls this method when the activity object, including activity state data in its userInfo dictionary, is available to the continuing app.
  • 24. Implementing Handoff - (BOOL)application:(NSApplication *)application continueUserActivity: (NSUserActivity *)userActivity restorationHandler: (void (^)(NSArray *))restorationHandler { BOOL handled = NO; // Extract the payload NSString *type = [userActivity activityType]; NSString *title = [userActivity title]; NSDictionary *userInfo = [userActivity userInfo]; // Assume the app delegate has a text field to display the activity information [appDelegateTextField setStringValue: [NSString stringWithFormat:@"User activity is of type %@, has title %@, and user info %@", type, title, userInfo]]; restorationHandler(self.windowControllers); handled = YES; return handled; }
  • 25. Implementing Handoff • Continuation Streams: If resuming an activity requires more data than can be efficiently transferred by the initial Handoff payload, a continuing app can call back to the originating app’s activity object to open streams between the apps and transfer more data. In this case, the originating app sets its NSUserActivity object’s Boolean property supportsContinuationStreams to YES, sets the user activity delegate, then calls becomeCurrent • Setting up streams NSUserActivity* activity = [[NSUserActivity alloc] init]; activity.title = @"Editing Mail"; activity.supportsContinuationStreams = YES; activity.delegate = self; [activity becomeCurrent];
  • 26. Implementing Handoff • Requesting streams - (BOOL)application:(UIApplication *)application continueUserActivity: (NSUserActivity *)userActivity restorationHandler: (void(^)(NSArray *restorableObjects))restorationHandler { [userActivity getContinuationStreamsWithCompletionHandler:^( NSInputStream *inputStream, NSOutputStream *outputStream, NSError *error) { // Do something with the streams }]; return YES; }
  • 27. Best Practices • Transfer as small a payload as possible in the userInfo dictionary—3KB or less. The more payload data you deliver, the longer it takes the activity to resume. • When a large amount of data transfer is unavoidable, use streams, but recognise that they have a cost in terms of network setup and overhead. • Plan for different versions of apps on different platforms to work well with each other or fail gracefully. Remember that the complementary app design can be asymmetrical—for example, a monolithic Mac app can route each of its activity types to smaller, special-purpose apps on iOS. • Use reverse-DNS notation for your activity types to avoid collisions. If the activity pertains only to a single app, you can use the app identifier with an extra field appended to describe the activity type. For example, use a format such as com.<company>.<app>.<activity type>, as in com.myCompany.myEditor.editing. If you have a user activity that works across more than one app, you can drop the app field, as in com.myCompany.editing. • To update the activity object’s userInfo dictionary efficiently, configure its delegate and set its needsSave property to YES whenever the userInfo needs updating. At appropriate times, Handoff invokes the delegate’s userActivityWillSave: callback, and the delegate can update the activity state. • Be sure the delegate of the continuing app implements its application:willContinueUserActivityWithType: to let the user know the activity will be continued. The user activity object may not be available instantly.