SlideShare a Scribd company logo
Getting Started with Developing for the Apple Watch
Murtza Manzur, Developer Evangelist at InMobi
About InMobi
● Largest independent mobile ad network
● 1 billion unique devices
● Products for Publishers: Native Ads, Video Ads
● Products for Advertisers: App-Install Platform
MASSIVE REACH ACROSS TOP COMPANIES
Agenda
● Apple Watch architecture
● Hello World app for the Apple Watch
● Counter app for the Apple Watch
● Communicating from the Apple Watch to the iOS App
Architecture
● Apple Watch app requires an iOS app
● WatchKit apps have two parts
○ A WatchKit extension that runs on iPhone
○ A set of user interface resources that are installed on Apple
Watch.
● Glance
○ Supplemental way for the user to view important
information from your app
Architecture
● When Apple Watch app is launched, WatchKit extension on
iPhone runs in the background
○ Updates UI and responds to user interactions
● Watch App
○ Storyboard and resource files
● WatchKit Extension
○ Code associated with the Watch App is executed here
Architecture
Hello World App for the Apple Watch
● Let’s build a Hello Word app
Hello World App - Step 1
Click Create a new Xcode
Project.
Hello World App - Step 2
Select Single View
Application, and then click
Next.
Hello World App - Step 3
Enter values for
Product Name and
Organization Name.
Select Objective-C as
Language and iPhone
as Devices. Leave Use
Core Data unchecked.
Hello World App - Step 4
Select a directory to save the project in, and then click
Create.
Hello World App - Step 5
Select File, New, then
click on Target.
Hello World App - Step 6
Select Apple Watch in
the left-hand menu.
Then click Next.
Hello World App - Step 7
Uncheck Notification
Scene and Glance
Scene. Then click
Finish.
Hello World App - Step 8
Click Activate.
Hello World App - Step 9
In the left-hand menu,
select the
Interface.storyboard
file from the WatchKit
App folder.
Hello World App - Step 10
This is the Interface
Builder for Apple Watch. In
the next step, we will drag
a Label object from the
Object Library to the Apple
Watch interface.
Interface Controller
● Like a View Controller in iOS
● Support two navigation styles, which are mutually exclusive
○ Hierarchal
○ Paged based
● Interface navigation through segues or programmatically
○ To implement a modal in your storyboard file, create a modal
segue.
○ To implement a modal programmatically, call the
presentControllerWithName:context: method
Interface Controller
● awakeWithContext
○ System calls this method at initialization time to provide the
interface controller with any relevant contextual data from a
previous interface controller
● willActivate
○ System calls this method to notify the interface controller that
its content is about to be displayed onscreen
● didDeactivate
○ System calls this method to notify the interface controller that
it is no longer onscreen
Hello World App - Step 10
Search for the Label object in the Object Library (lower
right-hand menu in Xcode). Then drag the Label
Object to the Apple Watch interface.
Interface Objects
● Arrange themselves
● Two unique view objects to Watch
App
○ Date
○ Timer
● Can be embedded in vertical or
horizontal groups
Hello World App - Step 11
Double click on the Label
object you added to the
Apple Watch interface, and
change the text to Hello
World.
Hello World App - Step 11
Click the run icon in Xcode. This will build your app, and
then run it in a simulator.
Hello World App - Step 12
To enable the
Apple Watch
simulator, select
Hardware,
External Displays
and then click on
Apple Watch -
42mm.
Hello World App - Step 13
Simulator will show
Hello World.
Counter App for the Apple Watch
● Let’s build a counter app for the Apple Watch
Counter App - Step 1
Navigate back to
Interface.storyboard. Double
click the label text to change
it from Hello World to 0. Add
two Button objects from the
Object Library. Rename the
button text: one for “+”, and
a second for “-”.
Counter App - Step 2
Navigate to the InterfaceController.m file in the WatchKit
Extension folder. As shown in the screenshot above, add
two properties between @interface and @end.
Counter App - Step 3
In @implementation, add two methods to increment and
decrement the counter property. We will connect these
two methods with the button objects in the Interface
Builder.
Counter App - Step 4
In @implementation, add a third method to set the text of
the counter label in the interface to value of the counter
property. We will connect the counter label property to
the counter label object in the interface in a later step.
Counter App - Step 5
Connect the
decrementCounter
action to the “-”
button object.
Connect the
incrementCounter
action to the “+”
button object.
Counter App - Step 6
Connect the
counterLabel
property from the
Interface Controller
to the counter label
object in the
interface.
Counter App - Step 7
Click the run icon in Xcode.
Counter App - Step 8
The Watch App will run in
the simulator. If the “+” and
“-” buttons are working
correctly, they will increment
and decrement the counter.
Communicating from Watch to iOS App
● Use openParentApplication method to send data from WatchKit
extension to iOS app
■ Passed as a dictionary object
● handleWatchKitExtensionRequest method to receive data on
iOS app
● Reference
○ https://developer.apple.com/library/prerelease/ios/documentati
on/WatchKit/Reference/WKInterfaceController_class/index.ht
ml
Resources
● WatchKit Development Tips
○ https://developer.apple.com/watchkit/tips/
● Developing for Apple Watch
○ https://developer.apple.com/library/ios/documentation/General/Con
ceptual/WatchKitProgrammingGuide/index.html
Resources
● Tips for Submitting Apple Watch App
○ http://www.fiveminutewatchkit.com/blog/2015/4/2/submitting-your-
watchkit-app
● Bezel, a tool to simulate the look of an Apple Watch
Murtza Manzur
Developer Evangelist
murtza.manzur@inmobi.com
Questions?

More Related Content

What's hot

Build your first android mobile app
Build your first android mobile appBuild your first android mobile app
Build your first android mobile app
ekipaco
 
Building The SpringGraph Flex Component
Building The SpringGraph Flex ComponentBuilding The SpringGraph Flex Component
Building The SpringGraph Flex ComponentGuo Albert
 
SwiftUI - Performance and Memory Management
SwiftUI - Performance and Memory ManagementSwiftUI - Performance and Memory Management
SwiftUI - Performance and Memory Management
WannitaTolaema
 
Introduction to Interactive Shiny Web Application
Introduction to Interactive Shiny Web ApplicationIntroduction to Interactive Shiny Web Application
Introduction to Interactive Shiny Web Application
Olga Scrivner
 
Tutorial 1
Tutorial 1Tutorial 1
Tutorial 1
Bible Tang
 
Securing api with_o_auth2
Securing api with_o_auth2Securing api with_o_auth2
Securing api with_o_auth2
sivachandra mandalapu
 
Building a YellowAnt application with .NET
Building a YellowAnt application with .NETBuilding a YellowAnt application with .NET
Building a YellowAnt application with .NET
Vishwa Krishnakumar
 
Data Visualization: Introduction to Shiny Web Applications
Data Visualization: Introduction to Shiny Web ApplicationsData Visualization: Introduction to Shiny Web Applications
Data Visualization: Introduction to Shiny Web Applications
Olga Scrivner
 
Dropbox with Mule
Dropbox with MuleDropbox with Mule
Dropbox with Mule
Manav Prasad
 
IOS- Designing with ui tool bar in ios
IOS-  Designing with ui tool bar in iosIOS-  Designing with ui tool bar in ios
IOS- Designing with ui tool bar in ios
Vibrant Technologies & Computers
 
R shiny
R shinyR shiny
R shiny
Ellen Boylen
 
Using prime[31] to connect your unity game to azure mobile services
Using prime[31] to connect your unity game to azure mobile servicesUsing prime[31] to connect your unity game to azure mobile services
Using prime[31] to connect your unity game to azure mobile services
David Voyles
 
Open source EPANET contribution model
Open source EPANET contribution model Open source EPANET contribution model
Open source EPANET contribution model
Elad Salomons
 
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
 
Ionic creator
Ionic creatorIonic creator
Ionic creator
Xavier Lozinguez
 
Creating a mule project with raml and api
Creating a mule project with raml and apiCreating a mule project with raml and api
Creating a mule project with raml and api
Bhargav Ranjit
 
[React-Native Tutorial] Lecture 8: Midterm Exam Discussion, Feedback, and Ter...
[React-Native Tutorial] Lecture 8: Midterm Exam Discussion, Feedback, and Ter...[React-Native Tutorial] Lecture 8: Midterm Exam Discussion, Feedback, and Ter...
[React-Native Tutorial] Lecture 8: Midterm Exam Discussion, Feedback, and Ter...
Kobkrit Viriyayudhakorn
 
An R shiny demo for IDA MOOC facilitation, Developing Data Products
An R shiny demo for IDA MOOC facilitation, Developing Data ProductsAn R shiny demo for IDA MOOC facilitation, Developing Data Products
An R shiny demo for IDA MOOC facilitation, Developing Data Products
Wei Zhong Toh
 
Step by step guide to build ionic hybrid app using cordova android
Step by step guide to build ionic hybrid app using cordova androidStep by step guide to build ionic hybrid app using cordova android
Step by step guide to build ionic hybrid app using cordova android
swagat parida
 

What's hot (19)

Build your first android mobile app
Build your first android mobile appBuild your first android mobile app
Build your first android mobile app
 
Building The SpringGraph Flex Component
Building The SpringGraph Flex ComponentBuilding The SpringGraph Flex Component
Building The SpringGraph Flex Component
 
SwiftUI - Performance and Memory Management
SwiftUI - Performance and Memory ManagementSwiftUI - Performance and Memory Management
SwiftUI - Performance and Memory Management
 
Introduction to Interactive Shiny Web Application
Introduction to Interactive Shiny Web ApplicationIntroduction to Interactive Shiny Web Application
Introduction to Interactive Shiny Web Application
 
Tutorial 1
Tutorial 1Tutorial 1
Tutorial 1
 
Securing api with_o_auth2
Securing api with_o_auth2Securing api with_o_auth2
Securing api with_o_auth2
 
Building a YellowAnt application with .NET
Building a YellowAnt application with .NETBuilding a YellowAnt application with .NET
Building a YellowAnt application with .NET
 
Data Visualization: Introduction to Shiny Web Applications
Data Visualization: Introduction to Shiny Web ApplicationsData Visualization: Introduction to Shiny Web Applications
Data Visualization: Introduction to Shiny Web Applications
 
Dropbox with Mule
Dropbox with MuleDropbox with Mule
Dropbox with Mule
 
IOS- Designing with ui tool bar in ios
IOS-  Designing with ui tool bar in iosIOS-  Designing with ui tool bar in ios
IOS- Designing with ui tool bar in ios
 
R shiny
R shinyR shiny
R shiny
 
Using prime[31] to connect your unity game to azure mobile services
Using prime[31] to connect your unity game to azure mobile servicesUsing prime[31] to connect your unity game to azure mobile services
Using prime[31] to connect your unity game to azure mobile services
 
Open source EPANET contribution model
Open source EPANET contribution model Open source EPANET contribution model
Open source EPANET contribution model
 
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
 
Ionic creator
Ionic creatorIonic creator
Ionic creator
 
Creating a mule project with raml and api
Creating a mule project with raml and apiCreating a mule project with raml and api
Creating a mule project with raml and api
 
[React-Native Tutorial] Lecture 8: Midterm Exam Discussion, Feedback, and Ter...
[React-Native Tutorial] Lecture 8: Midterm Exam Discussion, Feedback, and Ter...[React-Native Tutorial] Lecture 8: Midterm Exam Discussion, Feedback, and Ter...
[React-Native Tutorial] Lecture 8: Midterm Exam Discussion, Feedback, and Ter...
 
An R shiny demo for IDA MOOC facilitation, Developing Data Products
An R shiny demo for IDA MOOC facilitation, Developing Data ProductsAn R shiny demo for IDA MOOC facilitation, Developing Data Products
An R shiny demo for IDA MOOC facilitation, Developing Data Products
 
Step by step guide to build ionic hybrid app using cordova android
Step by step guide to build ionic hybrid app using cordova androidStep by step guide to build ionic hybrid app using cordova android
Step by step guide to build ionic hybrid app using cordova android
 

Viewers also liked

Microsoft Advertising Network Presentation 2010
Microsoft Advertising Network Presentation 2010Microsoft Advertising Network Presentation 2010
Microsoft Advertising Network Presentation 2010Will Lynch
 
InMobi Network Research Europe: Q1, 2015
InMobi Network Research Europe: Q1, 2015InMobi Network Research Europe: Q1, 2015
InMobi Network Research Europe: Q1, 2015
InMobi
 
Mobile Gaming Monetization Trends - 2016
Mobile Gaming Monetization Trends - 2016Mobile Gaming Monetization Trends - 2016
Mobile Gaming Monetization Trends - 2016
InMobi
 
All You Need To Know About Ad Network Mediation
All You Need To Know About Ad Network MediationAll You Need To Know About Ad Network Mediation
All You Need To Know About Ad Network Mediation
InMobi
 
Mobile marketing strategy guide
Mobile marketing strategy guide Mobile marketing strategy guide
Mobile marketing strategy guide
InMobi
 
Decoding Monetization Methods For Dating Apps
Decoding Monetization Methods For Dating AppsDecoding Monetization Methods For Dating Apps
Decoding Monetization Methods For Dating Apps
InMobi
 
Top 2017 Mobile Advertising Trends in Indonesia
Top 2017 Mobile Advertising Trends in IndonesiaTop 2017 Mobile Advertising Trends in Indonesia
Top 2017 Mobile Advertising Trends in Indonesia
InMobi
 

Viewers also liked (7)

Microsoft Advertising Network Presentation 2010
Microsoft Advertising Network Presentation 2010Microsoft Advertising Network Presentation 2010
Microsoft Advertising Network Presentation 2010
 
InMobi Network Research Europe: Q1, 2015
InMobi Network Research Europe: Q1, 2015InMobi Network Research Europe: Q1, 2015
InMobi Network Research Europe: Q1, 2015
 
Mobile Gaming Monetization Trends - 2016
Mobile Gaming Monetization Trends - 2016Mobile Gaming Monetization Trends - 2016
Mobile Gaming Monetization Trends - 2016
 
All You Need To Know About Ad Network Mediation
All You Need To Know About Ad Network MediationAll You Need To Know About Ad Network Mediation
All You Need To Know About Ad Network Mediation
 
Mobile marketing strategy guide
Mobile marketing strategy guide Mobile marketing strategy guide
Mobile marketing strategy guide
 
Decoding Monetization Methods For Dating Apps
Decoding Monetization Methods For Dating AppsDecoding Monetization Methods For Dating Apps
Decoding Monetization Methods For Dating Apps
 
Top 2017 Mobile Advertising Trends in Indonesia
Top 2017 Mobile Advertising Trends in IndonesiaTop 2017 Mobile Advertising Trends in Indonesia
Top 2017 Mobile Advertising Trends in Indonesia
 

Similar to Getting Started With Developing For Apple Watch

Introduction of Xcode
Introduction of XcodeIntroduction of Xcode
Introduction of Xcode
Dhaval Kaneria
 
iPhone application development training day 1
iPhone application development training day 1iPhone application development training day 1
iPhone application development training day 1Shyamala Prayaga
 
Ios actions and outlets
Ios actions and outletsIos actions and outlets
Ios actions and outlets
veeracynixit
 
Ios actions and outlets
Ios actions and outletsIos actions and outlets
Ios actions and outlets
veeracynixit
 
Hello world ios v1
Hello world ios v1Hello world ios v1
Hello world ios v1
Teodoro Alonso
 
Google calendar integration in iOS app
Google calendar integration in iOS appGoogle calendar integration in iOS app
Google calendar integration in iOS app
Ketan Raval
 
Intro to IBM Bluemix DevOps Services, a Workshop with a Cloudant twist
Intro to IBM Bluemix DevOps Services, a Workshop with a Cloudant twistIntro to IBM Bluemix DevOps Services, a Workshop with a Cloudant twist
Intro to IBM Bluemix DevOps Services, a Workshop with a Cloudant twist
Lauren Hayward Schaefer
 
Create your First Watchkit App
Create your First Watchkit AppCreate your First Watchkit App
Create your First Watchkit App
Pawan Ramteke
 
Assignment2 B Walkthrough
Assignment2 B WalkthroughAssignment2 B Walkthrough
Assignment2 B WalkthroughMahmoud
 
Code camp 2011 Getting Started with IOS, Una Daly
Code camp 2011 Getting Started with IOS, Una DalyCode camp 2011 Getting Started with IOS, Una Daly
Code camp 2011 Getting Started with IOS, Una Daly
Una Daly
 
Introduction to tvOS app Development !
Introduction to tvOS app Development !Introduction to tvOS app Development !
Introduction to tvOS app Development !
Snehal Patil
 
Mobile Worshop Lab guide
Mobile Worshop Lab guideMobile Worshop Lab guide
Mobile Worshop Lab guide
Man Chan
 
Apple Watch Kit trainning slide [team iOS - RikkeiSoft]
Apple Watch Kit trainning slide [team iOS - RikkeiSoft]Apple Watch Kit trainning slide [team iOS - RikkeiSoft]
Apple Watch Kit trainning slide [team iOS - RikkeiSoft]
Hoang Ngo Anh
 
04 objective-c session 4
04  objective-c session 404  objective-c session 4
04 objective-c session 4
Amr Elghadban (AmrAngry)
 
Basic iOS Training with SWIFT - Part 4
Basic iOS Training with SWIFT - Part 4Basic iOS Training with SWIFT - Part 4
Basic iOS Training with SWIFT - Part 4
Manoj Ellappan
 
MAD mobile application development you can learn from here , we perform all c...
MAD mobile application development you can learn from here , we perform all c...MAD mobile application development you can learn from here , we perform all c...
MAD mobile application development you can learn from here , we perform all c...
harshalpatil183931
 

Similar to Getting Started With Developing For Apple Watch (20)

Introduction of Xcode
Introduction of XcodeIntroduction of Xcode
Introduction of Xcode
 
watch_kit_v_1.0
watch_kit_v_1.0watch_kit_v_1.0
watch_kit_v_1.0
 
iPhone application development training day 1
iPhone application development training day 1iPhone application development training day 1
iPhone application development training day 1
 
Ios actions and outlets
Ios actions and outletsIos actions and outlets
Ios actions and outlets
 
Ios actions and outlets
Ios actions and outletsIos actions and outlets
Ios actions and outlets
 
CI & CD- mobile application
CI & CD- mobile applicationCI & CD- mobile application
CI & CD- mobile application
 
CI & CD- mobile application
CI & CD- mobile applicationCI & CD- mobile application
CI & CD- mobile application
 
Hello world ios v1
Hello world ios v1Hello world ios v1
Hello world ios v1
 
Google calendar integration in iOS app
Google calendar integration in iOS appGoogle calendar integration in iOS app
Google calendar integration in iOS app
 
Intro to IBM Bluemix DevOps Services, a Workshop with a Cloudant twist
Intro to IBM Bluemix DevOps Services, a Workshop with a Cloudant twistIntro to IBM Bluemix DevOps Services, a Workshop with a Cloudant twist
Intro to IBM Bluemix DevOps Services, a Workshop with a Cloudant twist
 
Create your First Watchkit App
Create your First Watchkit AppCreate your First Watchkit App
Create your First Watchkit App
 
Assignment2 B Walkthrough
Assignment2 B WalkthroughAssignment2 B Walkthrough
Assignment2 B Walkthrough
 
Code camp 2011 Getting Started with IOS, Una Daly
Code camp 2011 Getting Started with IOS, Una DalyCode camp 2011 Getting Started with IOS, Una Daly
Code camp 2011 Getting Started with IOS, Una Daly
 
Twitter trends
Twitter trendsTwitter trends
Twitter trends
 
Introduction to tvOS app Development !
Introduction to tvOS app Development !Introduction to tvOS app Development !
Introduction to tvOS app Development !
 
Mobile Worshop Lab guide
Mobile Worshop Lab guideMobile Worshop Lab guide
Mobile Worshop Lab guide
 
Apple Watch Kit trainning slide [team iOS - RikkeiSoft]
Apple Watch Kit trainning slide [team iOS - RikkeiSoft]Apple Watch Kit trainning slide [team iOS - RikkeiSoft]
Apple Watch Kit trainning slide [team iOS - RikkeiSoft]
 
04 objective-c session 4
04  objective-c session 404  objective-c session 4
04 objective-c session 4
 
Basic iOS Training with SWIFT - Part 4
Basic iOS Training with SWIFT - Part 4Basic iOS Training with SWIFT - Part 4
Basic iOS Training with SWIFT - Part 4
 
MAD mobile application development you can learn from here , we perform all c...
MAD mobile application development you can learn from here , we perform all c...MAD mobile application development you can learn from here , we perform all c...
MAD mobile application development you can learn from here , we perform all c...
 

More from InMobi

Responding to Coronavirus: How marketers can leverage digital responsibly
Responding to Coronavirus: How marketers can leverage digital responsiblyResponding to Coronavirus: How marketers can leverage digital responsibly
Responding to Coronavirus: How marketers can leverage digital responsibly
InMobi
 
2020: Celebrating the Era of the Connected Consumer
2020: Celebrating the Era of the Connected Consumer2020: Celebrating the Era of the Connected Consumer
2020: Celebrating the Era of the Connected Consumer
InMobi
 
Winning the Indian Festive Shopper in 2019
Winning the Indian Festive Shopper in 2019Winning the Indian Festive Shopper in 2019
Winning the Indian Festive Shopper in 2019
InMobi
 
The Changing Face of the Indian Mobile User
The Changing Face of the Indian Mobile UserThe Changing Face of the Indian Mobile User
The Changing Face of the Indian Mobile User
InMobi
 
Unlocking the True Potential of Data on Mobile
Unlocking the True Potential of Data on MobileUnlocking the True Potential of Data on Mobile
Unlocking the True Potential of Data on Mobile
InMobi
 
InMobi State of Mobile Video Advertising Report 2018
InMobi State of Mobile Video Advertising Report 2018InMobi State of Mobile Video Advertising Report 2018
InMobi State of Mobile Video Advertising Report 2018
InMobi
 
Neural Field aware Factorization Machine
Neural Field aware Factorization MachineNeural Field aware Factorization Machine
Neural Field aware Factorization Machine
InMobi
 
The Essential Mediation Toolkit - Korean
The Essential Mediation Toolkit - KoreanThe Essential Mediation Toolkit - Korean
The Essential Mediation Toolkit - Korean
InMobi
 
A Comprehensive Guide for App Marketers
A Comprehensive Guide for App MarketersA Comprehensive Guide for App Marketers
A Comprehensive Guide for App Marketers
InMobi
 
A Cure for Ad-Fraud: Turning Fraud Detection into Fraud Prevention
A Cure for Ad-Fraud: Turning Fraud Detection into Fraud PreventionA Cure for Ad-Fraud: Turning Fraud Detection into Fraud Prevention
A Cure for Ad-Fraud: Turning Fraud Detection into Fraud Prevention
InMobi
 
[Webinar] driving accountability in mobile advertising
[Webinar] driving accountability in mobile advertising[Webinar] driving accountability in mobile advertising
[Webinar] driving accountability in mobile advertising
InMobi
 
The Brand Marketer's Guide to Mobile Video Viewability
The Brand Marketer's Guide to Mobile Video ViewabilityThe Brand Marketer's Guide to Mobile Video Viewability
The Brand Marketer's Guide to Mobile Video Viewability
InMobi
 
InMobi Yearbook 2016
InMobi Yearbook 2016InMobi Yearbook 2016
InMobi Yearbook 2016
InMobi
 
Boost Retention on Mobile and Keep Users Coming Back for More!
Boost Retention on Mobile and Keep Users Coming Back for More!Boost Retention on Mobile and Keep Users Coming Back for More!
Boost Retention on Mobile and Keep Users Coming Back for More!
InMobi
 
Building Mobile Creatives that Deliver Real Results
Building Mobile Creatives that Deliver Real ResultsBuilding Mobile Creatives that Deliver Real Results
Building Mobile Creatives that Deliver Real Results
InMobi
 
Everything you need to know about mobile video ads in india and apac
Everything you need to know about mobile video ads in india and apacEverything you need to know about mobile video ads in india and apac
Everything you need to know about mobile video ads in india and apac
InMobi
 
The Golden Age of Mobile Video Advertising | Global
The Golden Age of Mobile Video Advertising | GlobalThe Golden Age of Mobile Video Advertising | Global
The Golden Age of Mobile Video Advertising | Global
InMobi
 
Everything a developer needs to know about the mobile video ads
Everything a developer needs to know about the mobile video ads Everything a developer needs to know about the mobile video ads
Everything a developer needs to know about the mobile video ads
InMobi
 
Programmatically Speaking with InMobi and Rubicon Project
Programmatically Speaking with InMobi and Rubicon ProjectProgrammatically Speaking with InMobi and Rubicon Project
Programmatically Speaking with InMobi and Rubicon Project
InMobi
 
How Successful Brand Marketers Combine the Power of Mobile Data Science And C...
How Successful Brand Marketers Combine the Power of Mobile Data Science And C...How Successful Brand Marketers Combine the Power of Mobile Data Science And C...
How Successful Brand Marketers Combine the Power of Mobile Data Science And C...
InMobi
 

More from InMobi (20)

Responding to Coronavirus: How marketers can leverage digital responsibly
Responding to Coronavirus: How marketers can leverage digital responsiblyResponding to Coronavirus: How marketers can leverage digital responsibly
Responding to Coronavirus: How marketers can leverage digital responsibly
 
2020: Celebrating the Era of the Connected Consumer
2020: Celebrating the Era of the Connected Consumer2020: Celebrating the Era of the Connected Consumer
2020: Celebrating the Era of the Connected Consumer
 
Winning the Indian Festive Shopper in 2019
Winning the Indian Festive Shopper in 2019Winning the Indian Festive Shopper in 2019
Winning the Indian Festive Shopper in 2019
 
The Changing Face of the Indian Mobile User
The Changing Face of the Indian Mobile UserThe Changing Face of the Indian Mobile User
The Changing Face of the Indian Mobile User
 
Unlocking the True Potential of Data on Mobile
Unlocking the True Potential of Data on MobileUnlocking the True Potential of Data on Mobile
Unlocking the True Potential of Data on Mobile
 
InMobi State of Mobile Video Advertising Report 2018
InMobi State of Mobile Video Advertising Report 2018InMobi State of Mobile Video Advertising Report 2018
InMobi State of Mobile Video Advertising Report 2018
 
Neural Field aware Factorization Machine
Neural Field aware Factorization MachineNeural Field aware Factorization Machine
Neural Field aware Factorization Machine
 
The Essential Mediation Toolkit - Korean
The Essential Mediation Toolkit - KoreanThe Essential Mediation Toolkit - Korean
The Essential Mediation Toolkit - Korean
 
A Comprehensive Guide for App Marketers
A Comprehensive Guide for App MarketersA Comprehensive Guide for App Marketers
A Comprehensive Guide for App Marketers
 
A Cure for Ad-Fraud: Turning Fraud Detection into Fraud Prevention
A Cure for Ad-Fraud: Turning Fraud Detection into Fraud PreventionA Cure for Ad-Fraud: Turning Fraud Detection into Fraud Prevention
A Cure for Ad-Fraud: Turning Fraud Detection into Fraud Prevention
 
[Webinar] driving accountability in mobile advertising
[Webinar] driving accountability in mobile advertising[Webinar] driving accountability in mobile advertising
[Webinar] driving accountability in mobile advertising
 
The Brand Marketer's Guide to Mobile Video Viewability
The Brand Marketer's Guide to Mobile Video ViewabilityThe Brand Marketer's Guide to Mobile Video Viewability
The Brand Marketer's Guide to Mobile Video Viewability
 
InMobi Yearbook 2016
InMobi Yearbook 2016InMobi Yearbook 2016
InMobi Yearbook 2016
 
Boost Retention on Mobile and Keep Users Coming Back for More!
Boost Retention on Mobile and Keep Users Coming Back for More!Boost Retention on Mobile and Keep Users Coming Back for More!
Boost Retention on Mobile and Keep Users Coming Back for More!
 
Building Mobile Creatives that Deliver Real Results
Building Mobile Creatives that Deliver Real ResultsBuilding Mobile Creatives that Deliver Real Results
Building Mobile Creatives that Deliver Real Results
 
Everything you need to know about mobile video ads in india and apac
Everything you need to know about mobile video ads in india and apacEverything you need to know about mobile video ads in india and apac
Everything you need to know about mobile video ads in india and apac
 
The Golden Age of Mobile Video Advertising | Global
The Golden Age of Mobile Video Advertising | GlobalThe Golden Age of Mobile Video Advertising | Global
The Golden Age of Mobile Video Advertising | Global
 
Everything a developer needs to know about the mobile video ads
Everything a developer needs to know about the mobile video ads Everything a developer needs to know about the mobile video ads
Everything a developer needs to know about the mobile video ads
 
Programmatically Speaking with InMobi and Rubicon Project
Programmatically Speaking with InMobi and Rubicon ProjectProgrammatically Speaking with InMobi and Rubicon Project
Programmatically Speaking with InMobi and Rubicon Project
 
How Successful Brand Marketers Combine the Power of Mobile Data Science And C...
How Successful Brand Marketers Combine the Power of Mobile Data Science And C...How Successful Brand Marketers Combine the Power of Mobile Data Science And C...
How Successful Brand Marketers Combine the Power of Mobile Data Science And C...
 

Recently uploaded

power quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptxpower quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptx
ViniHema
 
Quality defects in TMT Bars, Possible causes and Potential Solutions.
Quality defects in TMT Bars, Possible causes and Potential Solutions.Quality defects in TMT Bars, Possible causes and Potential Solutions.
Quality defects in TMT Bars, Possible causes and Potential Solutions.
PrashantGoswami42
 
weather web application report.pdf
weather web application report.pdfweather web application report.pdf
weather web application report.pdf
Pratik Pawar
 
Planning Of Procurement o different goods and services
Planning Of Procurement o different goods and servicesPlanning Of Procurement o different goods and services
Planning Of Procurement o different goods and services
JoytuBarua2
 
The Benefits and Techniques of Trenchless Pipe Repair.pdf
The Benefits and Techniques of Trenchless Pipe Repair.pdfThe Benefits and Techniques of Trenchless Pipe Repair.pdf
The Benefits and Techniques of Trenchless Pipe Repair.pdf
Pipe Restoration Solutions
 
Railway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdfRailway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdf
TeeVichai
 
Democratizing Fuzzing at Scale by Abhishek Arya
Democratizing Fuzzing at Scale by Abhishek AryaDemocratizing Fuzzing at Scale by Abhishek Arya
Democratizing Fuzzing at Scale by Abhishek Arya
abh.arya
 
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
obonagu
 
J.Yang, ICLR 2024, MLILAB, KAIST AI.pdf
J.Yang,  ICLR 2024, MLILAB, KAIST AI.pdfJ.Yang,  ICLR 2024, MLILAB, KAIST AI.pdf
J.Yang, ICLR 2024, MLILAB, KAIST AI.pdf
MLILAB
 
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&BDesign and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Sreedhar Chowdam
 
The role of big data in decision making.
The role of big data in decision making.The role of big data in decision making.
The role of big data in decision making.
ankuprajapati0525
 
LIGA(E)11111111111111111111111111111111111111111.ppt
LIGA(E)11111111111111111111111111111111111111111.pptLIGA(E)11111111111111111111111111111111111111111.ppt
LIGA(E)11111111111111111111111111111111111111111.ppt
ssuser9bd3ba
 
HYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generationHYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generation
Robbie Edward Sayers
 
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptxCFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
R&R Consult
 
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Dr.Costas Sachpazis
 
Standard Reomte Control Interface - Neometrix
Standard Reomte Control Interface - NeometrixStandard Reomte Control Interface - Neometrix
Standard Reomte Control Interface - Neometrix
Neometrix_Engineering_Pvt_Ltd
 
Halogenation process of chemical process industries
Halogenation process of chemical process industriesHalogenation process of chemical process industries
Halogenation process of chemical process industries
MuhammadTufail242431
 
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
bakpo1
 
Forklift Classes Overview by Intella Parts
Forklift Classes Overview by Intella PartsForklift Classes Overview by Intella Parts
Forklift Classes Overview by Intella Parts
Intella Parts
 
Cosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdfCosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdf
Kamal Acharya
 

Recently uploaded (20)

power quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptxpower quality voltage fluctuation UNIT - I.pptx
power quality voltage fluctuation UNIT - I.pptx
 
Quality defects in TMT Bars, Possible causes and Potential Solutions.
Quality defects in TMT Bars, Possible causes and Potential Solutions.Quality defects in TMT Bars, Possible causes and Potential Solutions.
Quality defects in TMT Bars, Possible causes and Potential Solutions.
 
weather web application report.pdf
weather web application report.pdfweather web application report.pdf
weather web application report.pdf
 
Planning Of Procurement o different goods and services
Planning Of Procurement o different goods and servicesPlanning Of Procurement o different goods and services
Planning Of Procurement o different goods and services
 
The Benefits and Techniques of Trenchless Pipe Repair.pdf
The Benefits and Techniques of Trenchless Pipe Repair.pdfThe Benefits and Techniques of Trenchless Pipe Repair.pdf
The Benefits and Techniques of Trenchless Pipe Repair.pdf
 
Railway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdfRailway Signalling Principles Edition 3.pdf
Railway Signalling Principles Edition 3.pdf
 
Democratizing Fuzzing at Scale by Abhishek Arya
Democratizing Fuzzing at Scale by Abhishek AryaDemocratizing Fuzzing at Scale by Abhishek Arya
Democratizing Fuzzing at Scale by Abhishek Arya
 
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
在线办理(ANU毕业证书)澳洲国立大学毕业证录取通知书一模一样
 
J.Yang, ICLR 2024, MLILAB, KAIST AI.pdf
J.Yang,  ICLR 2024, MLILAB, KAIST AI.pdfJ.Yang,  ICLR 2024, MLILAB, KAIST AI.pdf
J.Yang, ICLR 2024, MLILAB, KAIST AI.pdf
 
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&BDesign and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
 
The role of big data in decision making.
The role of big data in decision making.The role of big data in decision making.
The role of big data in decision making.
 
LIGA(E)11111111111111111111111111111111111111111.ppt
LIGA(E)11111111111111111111111111111111111111111.pptLIGA(E)11111111111111111111111111111111111111111.ppt
LIGA(E)11111111111111111111111111111111111111111.ppt
 
HYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generationHYDROPOWER - Hydroelectric power generation
HYDROPOWER - Hydroelectric power generation
 
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptxCFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
 
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...
 
Standard Reomte Control Interface - Neometrix
Standard Reomte Control Interface - NeometrixStandard Reomte Control Interface - Neometrix
Standard Reomte Control Interface - Neometrix
 
Halogenation process of chemical process industries
Halogenation process of chemical process industriesHalogenation process of chemical process industries
Halogenation process of chemical process industries
 
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
一比一原版(SFU毕业证)西蒙菲莎大学毕业证成绩单如何办理
 
Forklift Classes Overview by Intella Parts
Forklift Classes Overview by Intella PartsForklift Classes Overview by Intella Parts
Forklift Classes Overview by Intella Parts
 
Cosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdfCosmetic shop management system project report.pdf
Cosmetic shop management system project report.pdf
 

Getting Started With Developing For Apple Watch

  • 1. Getting Started with Developing for the Apple Watch Murtza Manzur, Developer Evangelist at InMobi
  • 2. About InMobi ● Largest independent mobile ad network ● 1 billion unique devices ● Products for Publishers: Native Ads, Video Ads ● Products for Advertisers: App-Install Platform
  • 3. MASSIVE REACH ACROSS TOP COMPANIES
  • 4. Agenda ● Apple Watch architecture ● Hello World app for the Apple Watch ● Counter app for the Apple Watch ● Communicating from the Apple Watch to the iOS App
  • 5. Architecture ● Apple Watch app requires an iOS app ● WatchKit apps have two parts ○ A WatchKit extension that runs on iPhone ○ A set of user interface resources that are installed on Apple Watch. ● Glance ○ Supplemental way for the user to view important information from your app
  • 6. Architecture ● When Apple Watch app is launched, WatchKit extension on iPhone runs in the background ○ Updates UI and responds to user interactions ● Watch App ○ Storyboard and resource files ● WatchKit Extension ○ Code associated with the Watch App is executed here
  • 8. Hello World App for the Apple Watch ● Let’s build a Hello Word app
  • 9. Hello World App - Step 1 Click Create a new Xcode Project.
  • 10. Hello World App - Step 2 Select Single View Application, and then click Next.
  • 11. Hello World App - Step 3 Enter values for Product Name and Organization Name. Select Objective-C as Language and iPhone as Devices. Leave Use Core Data unchecked.
  • 12. Hello World App - Step 4 Select a directory to save the project in, and then click Create.
  • 13. Hello World App - Step 5 Select File, New, then click on Target.
  • 14. Hello World App - Step 6 Select Apple Watch in the left-hand menu. Then click Next.
  • 15. Hello World App - Step 7 Uncheck Notification Scene and Glance Scene. Then click Finish.
  • 16. Hello World App - Step 8 Click Activate.
  • 17. Hello World App - Step 9 In the left-hand menu, select the Interface.storyboard file from the WatchKit App folder.
  • 18. Hello World App - Step 10 This is the Interface Builder for Apple Watch. In the next step, we will drag a Label object from the Object Library to the Apple Watch interface.
  • 19. Interface Controller ● Like a View Controller in iOS ● Support two navigation styles, which are mutually exclusive ○ Hierarchal ○ Paged based ● Interface navigation through segues or programmatically ○ To implement a modal in your storyboard file, create a modal segue. ○ To implement a modal programmatically, call the presentControllerWithName:context: method
  • 20. Interface Controller ● awakeWithContext ○ System calls this method at initialization time to provide the interface controller with any relevant contextual data from a previous interface controller ● willActivate ○ System calls this method to notify the interface controller that its content is about to be displayed onscreen ● didDeactivate ○ System calls this method to notify the interface controller that it is no longer onscreen
  • 21. Hello World App - Step 10 Search for the Label object in the Object Library (lower right-hand menu in Xcode). Then drag the Label Object to the Apple Watch interface.
  • 22. Interface Objects ● Arrange themselves ● Two unique view objects to Watch App ○ Date ○ Timer ● Can be embedded in vertical or horizontal groups
  • 23. Hello World App - Step 11 Double click on the Label object you added to the Apple Watch interface, and change the text to Hello World.
  • 24. Hello World App - Step 11 Click the run icon in Xcode. This will build your app, and then run it in a simulator.
  • 25. Hello World App - Step 12 To enable the Apple Watch simulator, select Hardware, External Displays and then click on Apple Watch - 42mm.
  • 26. Hello World App - Step 13 Simulator will show Hello World.
  • 27. Counter App for the Apple Watch ● Let’s build a counter app for the Apple Watch
  • 28. Counter App - Step 1 Navigate back to Interface.storyboard. Double click the label text to change it from Hello World to 0. Add two Button objects from the Object Library. Rename the button text: one for “+”, and a second for “-”.
  • 29. Counter App - Step 2 Navigate to the InterfaceController.m file in the WatchKit Extension folder. As shown in the screenshot above, add two properties between @interface and @end.
  • 30. Counter App - Step 3 In @implementation, add two methods to increment and decrement the counter property. We will connect these two methods with the button objects in the Interface Builder.
  • 31. Counter App - Step 4 In @implementation, add a third method to set the text of the counter label in the interface to value of the counter property. We will connect the counter label property to the counter label object in the interface in a later step.
  • 32. Counter App - Step 5 Connect the decrementCounter action to the “-” button object. Connect the incrementCounter action to the “+” button object.
  • 33. Counter App - Step 6 Connect the counterLabel property from the Interface Controller to the counter label object in the interface.
  • 34. Counter App - Step 7 Click the run icon in Xcode.
  • 35. Counter App - Step 8 The Watch App will run in the simulator. If the “+” and “-” buttons are working correctly, they will increment and decrement the counter.
  • 36. Communicating from Watch to iOS App ● Use openParentApplication method to send data from WatchKit extension to iOS app ■ Passed as a dictionary object ● handleWatchKitExtensionRequest method to receive data on iOS app ● Reference ○ https://developer.apple.com/library/prerelease/ios/documentati on/WatchKit/Reference/WKInterfaceController_class/index.ht ml
  • 37. Resources ● WatchKit Development Tips ○ https://developer.apple.com/watchkit/tips/ ● Developing for Apple Watch ○ https://developer.apple.com/library/ios/documentation/General/Con ceptual/WatchKitProgrammingGuide/index.html
  • 38. Resources ● Tips for Submitting Apple Watch App ○ http://www.fiveminutewatchkit.com/blog/2015/4/2/submitting-your- watchkit-app ● Bezel, a tool to simulate the look of an Apple Watch