SlideShare a Scribd company logo
iOS 8 App Extensions 
by 
Ravi Kumar 
Sr.iOS Developer 
email:jrk.iosdev@gmail.com
● What is ios app Extension ? 
● App Extension’s Life Cycle 
● How an App Extension Communicates 
● Some APIs Are Unavailable to App Extensions 
● Creating an App Extension 
● Distribute the Containing App 
● Sharing Data with Your Containing App 
● debug an app extension 
● App Extension Types
What is ios app Extension ? 
● An app extension is different from an app 
● It is a way for you to share your app’s functionality with other apps 
● you must use an app to contain and deliver your extensions 
● To distribute app extensions to users, you submit a containing app to the 
App Store. When a user installs your containing app, the extensions it 
contains are also installed 
● You can use Objective-C or Swift,Objective-C and Swift 
● After installing an app extension, a user must take action to enable it
App Extension’s Life Cycle 
● App extension isn’t 
an app 
● Bundle is different 
for app and 
extension
How an App Extension Communicates 
● An app extension communicates primarily 
with its host app. 
● There is a request from the host and a 
response from the extension. 
● There is no direct communication between 
an app extension and its containing app. 
● The containing app isn’t even running 
while a contained extension is running. 
● An app extension’s containing app and the 
host app don’t communicate at all.
Some APIs Are Unavailable to App Extensions 
● Access a sharedApplication object, and so cannot use 
any of the methods on that object. 
● HealthKit framework and EventKit UI framework are 
unavailable to app extensions. 
● Access the camera or microphone on an iOS device. 
● Perform long-running background tasks. 
● Receive data using AirDrop.
Creating an App Extension 
● To add a new target to your Xcode app project, choose File > New > Target.
Distribute the Containing App 
● You can’t submit an app extension to the App Store 
unless it’s inside a containing app, and you can’t 
transfer an extension from one app to another. 
● To deliver an iOS app extension, you must submit a 
containing app to the App Store. 
● To pass app review, your containing app must provide 
functionality to users; it can’t just contain app 
extensions.
Sharing Data with Your Containing App
// Create and share access to an NSUserDefaults object. 
NSUserDefaults *mySharedDefaults = [[NSUserDefaults alloc] 
initWithSuiteName:@"com.example.domain.MyShareExtension"]; 
// Use the shared user defaults object to update the user's account. 
[mySharedDefaults setObject:theAccountName forKey:@"lastAccountName"];
debug an app extension 
● Enable the app extension’s scheme by choosing Product > Scheme > MyExtensionName or by 
clicking the scheme pop-up menu in the Xcode toolbar and choosing MyExtensionName. 
● Click the Build and Run button to tell Xcode to launch your specified host app. 
● The Debug navigator indicates it is waiting for you to invoke the app extension. 
● Invoke the app extension by way of the host app’s UI.
App Extension Types 
Today 
● Extensions in the Today view are 
called widgets. 
● Widgets give users quick access 
to information that’s important 
right now . 
● Ensure that content always looks 
up to date.
Custom Keyboard
Photo Editing 
● Photo Editing extension lets users 
edit a photo or video within the 
Photos app.
Share 
● Share extensions give 
users a convenient way 
to share content with 
other entities, such as 
social sharing websites 
or upload services.
Action 
● Create your own custom action 
buttons 
● An Action extension helps users 
view or transform content 
originating in a host app. 
● Example:such as viewing an 
image in a different format or 
reading text in a different 
language
Document picker 
● files can store and retrieve files 
stored. 
● the document provider act as a 
local repository for a particular 
type of document, letting the user 
gather all those documents into 
one place.
Thank you

More Related Content

What's hot

Building android and i os apps with visual studio
Building android and i os apps with visual studioBuilding android and i os apps with visual studio
Building android and i os apps with visual studio
Lohith Goudagere Nagaraj
 
Google IO 2017 Recap
Google IO 2017 RecapGoogle IO 2017 Recap
Google IO 2017 Recap
Vishal Nayak
 
Open Social - Dark Side of the Moon
Open Social - Dark Side of the MoonOpen Social - Dark Side of the Moon
Open Social - Dark Side of the Moon
vineet
 
Why choose flutter 2 over flutter 1
Why choose flutter 2 over flutter 1 Why choose flutter 2 over flutter 1
Why choose flutter 2 over flutter 1
Concetto Labs
 
Getting in the Evernote Trunk
Getting in the Evernote TrunkGetting in the Evernote Trunk
Getting in the Evernote Trunk
Chris Traganos
 
Monkey Talk
Monkey TalkMonkey Talk
Monkey Talk
Jignesh Bhadani
 
GAE as Android Test Portal. Part 1.
GAE as Android Test Portal. Part 1.GAE as Android Test Portal. Part 1.
GAE as Android Test Portal. Part 1.
Åsa Pehrsson
 
Create first-web application-googleappengine
Create first-web application-googleappengineCreate first-web application-googleappengine
Create first-web application-googleappengine
marwa Ayad Mohamed
 
Flutter: Future of App Development
Flutter: Future of App DevelopmentFlutter: Future of App Development
Flutter: Future of App Development
9 series
 
Deploying Apps Heroku
Deploying Apps HerokuDeploying Apps Heroku
Deploying Apps Heroku
Ajit N K
 
ReactJS
ReactJSReactJS
Instant Apps potatotips 41
Instant Apps potatotips 41Instant Apps potatotips 41
Instant Apps potatotips 41
bina1204 Hozuki
 
Building a design system with (p)react
Building a design system with (p)reactBuilding a design system with (p)react
Building a design system with (p)react
Bart Waardenburg
 
Apple Watch and WatchKit - A Technical Overview
Apple Watch and WatchKit - A Technical OverviewApple Watch and WatchKit - A Technical Overview
Apple Watch and WatchKit - A Technical Overview
Sammy Sunny
 
Guardian devexp and_discovery
Guardian devexp and_discoveryGuardian devexp and_discovery
Guardian devexp and_discoveryAde Oshineye
 
Building a scalable app factory with Appcelerator Platform
Building a scalable app factory with Appcelerator PlatformBuilding a scalable app factory with Appcelerator Platform
Building a scalable app factory with Appcelerator Platform
Angus Fox
 
Flutter
FlutterFlutter
Flutter
Ankit Kumar
 
Flutter
FlutterFlutter

What's hot (19)

Building android and i os apps with visual studio
Building android and i os apps with visual studioBuilding android and i os apps with visual studio
Building android and i os apps with visual studio
 
Google IO 2017 Recap
Google IO 2017 RecapGoogle IO 2017 Recap
Google IO 2017 Recap
 
Open Social - Dark Side of the Moon
Open Social - Dark Side of the MoonOpen Social - Dark Side of the Moon
Open Social - Dark Side of the Moon
 
Why choose flutter 2 over flutter 1
Why choose flutter 2 over flutter 1 Why choose flutter 2 over flutter 1
Why choose flutter 2 over flutter 1
 
Getting in the Evernote Trunk
Getting in the Evernote TrunkGetting in the Evernote Trunk
Getting in the Evernote Trunk
 
Monkey Talk
Monkey TalkMonkey Talk
Monkey Talk
 
GAE as Android Test Portal. Part 1.
GAE as Android Test Portal. Part 1.GAE as Android Test Portal. Part 1.
GAE as Android Test Portal. Part 1.
 
Create first-web application-googleappengine
Create first-web application-googleappengineCreate first-web application-googleappengine
Create first-web application-googleappengine
 
Flutter: Future of App Development
Flutter: Future of App DevelopmentFlutter: Future of App Development
Flutter: Future of App Development
 
Deploying Apps Heroku
Deploying Apps HerokuDeploying Apps Heroku
Deploying Apps Heroku
 
ReactJS
ReactJSReactJS
ReactJS
 
Instant Apps potatotips 41
Instant Apps potatotips 41Instant Apps potatotips 41
Instant Apps potatotips 41
 
Building a design system with (p)react
Building a design system with (p)reactBuilding a design system with (p)react
Building a design system with (p)react
 
Evaluation 4
Evaluation 4Evaluation 4
Evaluation 4
 
Apple Watch and WatchKit - A Technical Overview
Apple Watch and WatchKit - A Technical OverviewApple Watch and WatchKit - A Technical Overview
Apple Watch and WatchKit - A Technical Overview
 
Guardian devexp and_discovery
Guardian devexp and_discoveryGuardian devexp and_discovery
Guardian devexp and_discovery
 
Building a scalable app factory with Appcelerator Platform
Building a scalable app factory with Appcelerator PlatformBuilding a scalable app factory with Appcelerator Platform
Building a scalable app factory with Appcelerator Platform
 
Flutter
FlutterFlutter
Flutter
 
Flutter
FlutterFlutter
Flutter
 

Viewers also liked

App Extensions in iOS ver JP
App Extensions in iOS ver JPApp Extensions in iOS ver JP
App Extensions in iOS ver JP
qohj
 
iOS 8 Action Extension Training
iOS 8 Action Extension TrainingiOS 8 Action Extension Training
iOS 8 Action Extension Training
Yuichi Fujiki
 
Keyboard Extension sharing
Keyboard Extension sharingKeyboard Extension sharing
Keyboard Extension sharing
Grady Zhuo
 
iOS 8 App Extension「Action」でアプリ間連携してみる
iOS 8 App Extension「Action」でアプリ間連携してみるiOS 8 App Extension「Action」でアプリ間連携してみる
iOS 8 App Extension「Action」でアプリ間連携してみる
Kosuke Ogawa
 
EDUCARNIVAL 2014 at IIT Delhi- Responsive reading ideas and strategies by Nee...
EDUCARNIVAL 2014 at IIT Delhi- Responsive reading ideas and strategies by Nee...EDUCARNIVAL 2014 at IIT Delhi- Responsive reading ideas and strategies by Nee...
EDUCARNIVAL 2014 at IIT Delhi- Responsive reading ideas and strategies by Nee...
Eduexcellence
 
iOS App Extensions
iOS App Extensions iOS App Extensions
iOS App Extensions
Ketan Raval
 
Nonfiction text features
Nonfiction text featuresNonfiction text features
Nonfiction text featuresdpeet
 
Build Features, Not Apps
Build Features, Not AppsBuild Features, Not Apps
Build Features, Not Apps
Natasha Murashev
 

Viewers also liked (8)

App Extensions in iOS ver JP
App Extensions in iOS ver JPApp Extensions in iOS ver JP
App Extensions in iOS ver JP
 
iOS 8 Action Extension Training
iOS 8 Action Extension TrainingiOS 8 Action Extension Training
iOS 8 Action Extension Training
 
Keyboard Extension sharing
Keyboard Extension sharingKeyboard Extension sharing
Keyboard Extension sharing
 
iOS 8 App Extension「Action」でアプリ間連携してみる
iOS 8 App Extension「Action」でアプリ間連携してみるiOS 8 App Extension「Action」でアプリ間連携してみる
iOS 8 App Extension「Action」でアプリ間連携してみる
 
EDUCARNIVAL 2014 at IIT Delhi- Responsive reading ideas and strategies by Nee...
EDUCARNIVAL 2014 at IIT Delhi- Responsive reading ideas and strategies by Nee...EDUCARNIVAL 2014 at IIT Delhi- Responsive reading ideas and strategies by Nee...
EDUCARNIVAL 2014 at IIT Delhi- Responsive reading ideas and strategies by Nee...
 
iOS App Extensions
iOS App Extensions iOS App Extensions
iOS App Extensions
 
Nonfiction text features
Nonfiction text featuresNonfiction text features
Nonfiction text features
 
Build Features, Not Apps
Build Features, Not AppsBuild Features, Not Apps
Build Features, Not Apps
 

Similar to iOS 8 App Extensions

Android Development Tutorial
Android Development TutorialAndroid Development Tutorial
Android Development Tutorial
Germán Bringas
 
Android Training - Content Sharing
Android Training - Content SharingAndroid Training - Content Sharing
Android Training - Content Sharing
Kan-Han (John) Lu
 
Android development orientation for starters v4 seminar
Android development orientation for starters v4   seminarAndroid development orientation for starters v4   seminar
Android development orientation for starters v4 seminar
Joemarie Amparo
 
Android Application Components
Android Application ComponentsAndroid Application Components
Android Application Components
JAINAM KAPADIYA
 
Internship_PPT__1_.pptx.pdf
Internship_PPT__1_.pptx.pdfInternship_PPT__1_.pptx.pdf
Internship_PPT__1_.pptx.pdf
SakshiThorat29
 
Presentation
PresentationPresentation
Presentation
allanchristiancarlos
 
Mobile application Project report B.Tech Final year
Mobile application Project report B.Tech Final yearMobile application Project report B.Tech Final year
Mobile application Project report B.Tech Final year
Chin2uuu
 
Mobile testing android
Mobile testing   androidMobile testing   android
Mobile testing android
Basant Dewangan
 
Flutter.pdf
 Flutter.pdf Flutter.pdf
Flutter.pdf
ssuser3fcae7
 
Perspective presentation
Perspective presentationPerspective presentation
Perspective presentation
Oskar Hargedahl
 
Os eclipse-androidwidget-pdf
Os eclipse-androidwidget-pdfOs eclipse-androidwidget-pdf
Os eclipse-androidwidget-pdfweerabahu
 
Mobile Application Project report
Mobile Application Project reportMobile Application Project report
Mobile Application Project report
Chin2uuu
 
Web application development process
Web application development processWeb application development process
Web application development process
John Smith
 
Platform Independent App design
Platform Independent App designPlatform Independent App design
Platform Independent App design
Arnab Pradhan
 
android development training in mumbai
android development training in mumbaiandroid development training in mumbai
android development training in mumbai
faizrashid1995
 
Project proposal.pdf
Project proposal.pdfProject proposal.pdf
Project proposal.pdf
Chin2uuu
 
Kotlin for Android App Development Presentation
Kotlin for Android App Development PresentationKotlin for Android App Development Presentation
Kotlin for Android App Development Presentation
Knoldus Inc.
 
Mobile Application Development and Types(1)
Mobile Application Development and Types(1)Mobile Application Development and Types(1)
Mobile Application Development and Types(1)
IsraelSoga
 
What’s New in iOS 8 SDK ?
What’s New in iOS 8 SDK ?What’s New in iOS 8 SDK ?
What’s New in iOS 8 SDK ?
E2LOGY
 

Similar to iOS 8 App Extensions (20)

Android Development Tutorial
Android Development TutorialAndroid Development Tutorial
Android Development Tutorial
 
Basics 4
Basics   4Basics   4
Basics 4
 
Android Training - Content Sharing
Android Training - Content SharingAndroid Training - Content Sharing
Android Training - Content Sharing
 
Android development orientation for starters v4 seminar
Android development orientation for starters v4   seminarAndroid development orientation for starters v4   seminar
Android development orientation for starters v4 seminar
 
Android Application Components
Android Application ComponentsAndroid Application Components
Android Application Components
 
Internship_PPT__1_.pptx.pdf
Internship_PPT__1_.pptx.pdfInternship_PPT__1_.pptx.pdf
Internship_PPT__1_.pptx.pdf
 
Presentation
PresentationPresentation
Presentation
 
Mobile application Project report B.Tech Final year
Mobile application Project report B.Tech Final yearMobile application Project report B.Tech Final year
Mobile application Project report B.Tech Final year
 
Mobile testing android
Mobile testing   androidMobile testing   android
Mobile testing android
 
Flutter.pdf
 Flutter.pdf Flutter.pdf
Flutter.pdf
 
Perspective presentation
Perspective presentationPerspective presentation
Perspective presentation
 
Os eclipse-androidwidget-pdf
Os eclipse-androidwidget-pdfOs eclipse-androidwidget-pdf
Os eclipse-androidwidget-pdf
 
Mobile Application Project report
Mobile Application Project reportMobile Application Project report
Mobile Application Project report
 
Web application development process
Web application development processWeb application development process
Web application development process
 
Platform Independent App design
Platform Independent App designPlatform Independent App design
Platform Independent App design
 
android development training in mumbai
android development training in mumbaiandroid development training in mumbai
android development training in mumbai
 
Project proposal.pdf
Project proposal.pdfProject proposal.pdf
Project proposal.pdf
 
Kotlin for Android App Development Presentation
Kotlin for Android App Development PresentationKotlin for Android App Development Presentation
Kotlin for Android App Development Presentation
 
Mobile Application Development and Types(1)
Mobile Application Development and Types(1)Mobile Application Development and Types(1)
Mobile Application Development and Types(1)
 
What’s New in iOS 8 SDK ?
What’s New in iOS 8 SDK ?What’s New in iOS 8 SDK ?
What’s New in iOS 8 SDK ?
 

Recently uploaded

Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Mind IT Systems
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
kalichargn70th171
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
vrstrong314
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Globus
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
Globus
 
Graphic Design Crash Course for beginners
Graphic Design Crash Course for beginnersGraphic Design Crash Course for beginners
Graphic Design Crash Course for beginners
e20449
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
Donna Lenk
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
Globus
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
Juraj Vysvader
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
Google
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
XfilesPro
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
Globus
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Globus
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
Ortus Solutions, Corp
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
NYGGS Automation Suite
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
Globus
 
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Anthony Dahanne
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
rickgrimesss22
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns
 

Recently uploaded (20)

Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
 
Graphic Design Crash Course for beginners
Graphic Design Crash Course for beginnersGraphic Design Crash Course for beginners
Graphic Design Crash Course for beginners
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
 
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
 

iOS 8 App Extensions

  • 1. iOS 8 App Extensions by Ravi Kumar Sr.iOS Developer email:jrk.iosdev@gmail.com
  • 2. ● What is ios app Extension ? ● App Extension’s Life Cycle ● How an App Extension Communicates ● Some APIs Are Unavailable to App Extensions ● Creating an App Extension ● Distribute the Containing App ● Sharing Data with Your Containing App ● debug an app extension ● App Extension Types
  • 3. What is ios app Extension ? ● An app extension is different from an app ● It is a way for you to share your app’s functionality with other apps ● you must use an app to contain and deliver your extensions ● To distribute app extensions to users, you submit a containing app to the App Store. When a user installs your containing app, the extensions it contains are also installed ● You can use Objective-C or Swift,Objective-C and Swift ● After installing an app extension, a user must take action to enable it
  • 4. App Extension’s Life Cycle ● App extension isn’t an app ● Bundle is different for app and extension
  • 5. How an App Extension Communicates ● An app extension communicates primarily with its host app. ● There is a request from the host and a response from the extension. ● There is no direct communication between an app extension and its containing app. ● The containing app isn’t even running while a contained extension is running. ● An app extension’s containing app and the host app don’t communicate at all.
  • 6. Some APIs Are Unavailable to App Extensions ● Access a sharedApplication object, and so cannot use any of the methods on that object. ● HealthKit framework and EventKit UI framework are unavailable to app extensions. ● Access the camera or microphone on an iOS device. ● Perform long-running background tasks. ● Receive data using AirDrop.
  • 7. Creating an App Extension ● To add a new target to your Xcode app project, choose File > New > Target.
  • 8. Distribute the Containing App ● You can’t submit an app extension to the App Store unless it’s inside a containing app, and you can’t transfer an extension from one app to another. ● To deliver an iOS app extension, you must submit a containing app to the App Store. ● To pass app review, your containing app must provide functionality to users; it can’t just contain app extensions.
  • 9. Sharing Data with Your Containing App
  • 10. // Create and share access to an NSUserDefaults object. NSUserDefaults *mySharedDefaults = [[NSUserDefaults alloc] initWithSuiteName:@"com.example.domain.MyShareExtension"]; // Use the shared user defaults object to update the user's account. [mySharedDefaults setObject:theAccountName forKey:@"lastAccountName"];
  • 11. debug an app extension ● Enable the app extension’s scheme by choosing Product > Scheme > MyExtensionName or by clicking the scheme pop-up menu in the Xcode toolbar and choosing MyExtensionName. ● Click the Build and Run button to tell Xcode to launch your specified host app. ● The Debug navigator indicates it is waiting for you to invoke the app extension. ● Invoke the app extension by way of the host app’s UI.
  • 12. App Extension Types Today ● Extensions in the Today view are called widgets. ● Widgets give users quick access to information that’s important right now . ● Ensure that content always looks up to date.
  • 14. Photo Editing ● Photo Editing extension lets users edit a photo or video within the Photos app.
  • 15. Share ● Share extensions give users a convenient way to share content with other entities, such as social sharing websites or upload services.
  • 16. Action ● Create your own custom action buttons ● An Action extension helps users view or transform content originating in a host app. ● Example:such as viewing an image in a different format or reading text in a different language
  • 17. Document picker ● files can store and retrieve files stored. ● the document provider act as a local repository for a particular type of document, letting the user gather all those documents into one place.