SlideShare ist ein Scribd-Unternehmen logo
1 von 39
Downloaden Sie, um offline zu lesen
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?

Weitere ähnliche Inhalte

Was ist angesagt?

Build your first android mobile app
Build your first android mobile appBuild your first android mobile app
Build your first android mobile appekipaco
 
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 ManagementWannitaTolaema
 
Introduction to Interactive Shiny Web Application
Introduction to Interactive Shiny Web ApplicationIntroduction to Interactive Shiny Web Application
Introduction to Interactive Shiny Web ApplicationOlga Scrivner
 
Building a YellowAnt application with .NET
Building a YellowAnt application with .NETBuilding a YellowAnt application with .NET
Building a YellowAnt application with .NETVishwa 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 ApplicationsOlga Scrivner
 
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 servicesDavid 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 OverviewSammy Sunny
 
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 apiBhargav 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 ProductsWei 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 androidswagat parida
 

Was ist angesagt? (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
 

Andere mochten auch

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, 2015InMobi
 
Mobile Gaming Monetization Trends - 2016
Mobile Gaming Monetization Trends - 2016Mobile Gaming Monetization Trends - 2016
Mobile Gaming Monetization Trends - 2016InMobi
 
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 MediationInMobi
 
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 AppsInMobi
 
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 IndonesiaInMobi
 

Andere mochten auch (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
 

Ähnlich wie Getting Started With Developing For Apple Watch

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 outletsveeracynixit
 
Ios actions and outlets
Ios actions and outletsIos actions and outlets
Ios actions and outletsveeracynixit
 
Google calendar integration in iOS app
Google calendar integration in iOS appGoogle calendar integration in iOS app
Google calendar integration in iOS appKetan 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 twistLauren Hayward Schaefer
 
Create your First Watchkit App
Create your First Watchkit AppCreate your First Watchkit App
Create your First Watchkit AppPawan 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 DalyUna 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 guideMan 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
 
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 4Manoj Ellappan
 
I phone first app ducat
I phone first app ducatI phone first app ducat
I phone first app ducatPragati Singh
 

Ähnlich wie 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
 
I phone first app ducat
I phone first app ducatI phone first app ducat
I phone first app ducat
 

Mehr von 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 responsiblyInMobi
 
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 ConsumerInMobi
 
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 2019InMobi
 
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 UserInMobi
 
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 MobileInMobi
 
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 2018InMobi
 
Neural Field aware Factorization Machine
Neural Field aware Factorization MachineNeural Field aware Factorization Machine
Neural Field aware Factorization MachineInMobi
 
The Essential Mediation Toolkit - Korean
The Essential Mediation Toolkit - KoreanThe Essential Mediation Toolkit - Korean
The Essential Mediation Toolkit - KoreanInMobi
 
A Comprehensive Guide for App Marketers
A Comprehensive Guide for App MarketersA Comprehensive Guide for App Marketers
A Comprehensive Guide for App MarketersInMobi
 
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 PreventionInMobi
 
[Webinar] driving accountability in mobile advertising
[Webinar] driving accountability in mobile advertising[Webinar] driving accountability in mobile advertising
[Webinar] driving accountability in mobile advertisingInMobi
 
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 ViewabilityInMobi
 
InMobi Yearbook 2016
InMobi Yearbook 2016InMobi Yearbook 2016
InMobi Yearbook 2016InMobi
 
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 ResultsInMobi
 
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 apacInMobi
 
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 | GlobalInMobi
 
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 ProjectInMobi
 
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
 

Mehr von 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...
 

Kürzlich hochgeladen

sdfsadopkjpiosufoiasdoifjasldkjfl a asldkjflaskdjflkjsdsdf
sdfsadopkjpiosufoiasdoifjasldkjfl a asldkjflaskdjflkjsdsdfsdfsadopkjpiosufoiasdoifjasldkjfl a asldkjflaskdjflkjsdsdf
sdfsadopkjpiosufoiasdoifjasldkjfl a asldkjflaskdjflkjsdsdfJulia Kaye
 
ChatGPT-and-Generative-AI-Landscape Working of generative ai search
ChatGPT-and-Generative-AI-Landscape Working of generative ai searchChatGPT-and-Generative-AI-Landscape Working of generative ai search
ChatGPT-and-Generative-AI-Landscape Working of generative ai searchrohitcse52
 
GENERAL CONDITIONS FOR CONTRACTS OF CIVIL ENGINEERING WORKS
GENERAL CONDITIONS  FOR  CONTRACTS OF CIVIL ENGINEERING WORKS GENERAL CONDITIONS  FOR  CONTRACTS OF CIVIL ENGINEERING WORKS
GENERAL CONDITIONS FOR CONTRACTS OF CIVIL ENGINEERING WORKS Bahzad5
 
Design of Clutches and Brakes in Design of Machine Elements.pptx
Design of Clutches and Brakes in Design of Machine Elements.pptxDesign of Clutches and Brakes in Design of Machine Elements.pptx
Design of Clutches and Brakes in Design of Machine Elements.pptxYogeshKumarKJMIT
 
Summer training report on BUILDING CONSTRUCTION for DIPLOMA Students.pdf
Summer training report on BUILDING CONSTRUCTION for DIPLOMA Students.pdfSummer training report on BUILDING CONSTRUCTION for DIPLOMA Students.pdf
Summer training report on BUILDING CONSTRUCTION for DIPLOMA Students.pdfNaveenVerma126
 
Graphics Primitives and CG Display Devices
Graphics Primitives and CG Display DevicesGraphics Primitives and CG Display Devices
Graphics Primitives and CG Display DevicesDIPIKA83
 
UNIT4_ESD_wfffffggggggggggggith_ARM.pptx
UNIT4_ESD_wfffffggggggggggggith_ARM.pptxUNIT4_ESD_wfffffggggggggggggith_ARM.pptx
UNIT4_ESD_wfffffggggggggggggith_ARM.pptxrealme6igamerr
 
The relationship between iot and communication technology
The relationship between iot and communication technologyThe relationship between iot and communication technology
The relationship between iot and communication technologyabdulkadirmukarram03
 
nvidia AI-gtc 2024 partial slide deck.pptx
nvidia AI-gtc 2024 partial slide deck.pptxnvidia AI-gtc 2024 partial slide deck.pptx
nvidia AI-gtc 2024 partial slide deck.pptxjasonsedano2
 
Power System electrical and electronics .pptx
Power System electrical and electronics .pptxPower System electrical and electronics .pptx
Power System electrical and electronics .pptxMUKULKUMAR210
 
Vertical- Machining - Center - VMC -LMW-Machine-Tool-Division.pptx
Vertical- Machining - Center - VMC -LMW-Machine-Tool-Division.pptxVertical- Machining - Center - VMC -LMW-Machine-Tool-Division.pptx
Vertical- Machining - Center - VMC -LMW-Machine-Tool-Division.pptxLMW Machine Tool Division
 
Lecture 1: Basics of trigonometry (surveying)
Lecture 1: Basics of trigonometry (surveying)Lecture 1: Basics of trigonometry (surveying)
Lecture 1: Basics of trigonometry (surveying)Bahzad5
 
Multicomponent Spiral Wound Membrane Separation Model.pdf
Multicomponent Spiral Wound Membrane Separation Model.pdfMulticomponent Spiral Wound Membrane Separation Model.pdf
Multicomponent Spiral Wound Membrane Separation Model.pdfGiovanaGhasary1
 
دليل تجارب الاسفلت المختبرية - Asphalt Experiments Guide Laboratory
دليل تجارب الاسفلت المختبرية - Asphalt Experiments Guide Laboratoryدليل تجارب الاسفلت المختبرية - Asphalt Experiments Guide Laboratory
دليل تجارب الاسفلت المختبرية - Asphalt Experiments Guide LaboratoryBahzad5
 
Quasi-Stochastic Approximation: Algorithm Design Principles with Applications...
Quasi-Stochastic Approximation: Algorithm Design Principles with Applications...Quasi-Stochastic Approximation: Algorithm Design Principles with Applications...
Quasi-Stochastic Approximation: Algorithm Design Principles with Applications...Sean Meyn
 
Nodal seismic construction requirements.pptx
Nodal seismic construction requirements.pptxNodal seismic construction requirements.pptx
Nodal seismic construction requirements.pptxwendy cai
 

Kürzlich hochgeladen (20)

sdfsadopkjpiosufoiasdoifjasldkjfl a asldkjflaskdjflkjsdsdf
sdfsadopkjpiosufoiasdoifjasldkjfl a asldkjflaskdjflkjsdsdfsdfsadopkjpiosufoiasdoifjasldkjfl a asldkjflaskdjflkjsdsdf
sdfsadopkjpiosufoiasdoifjasldkjfl a asldkjflaskdjflkjsdsdf
 
ChatGPT-and-Generative-AI-Landscape Working of generative ai search
ChatGPT-and-Generative-AI-Landscape Working of generative ai searchChatGPT-and-Generative-AI-Landscape Working of generative ai search
ChatGPT-and-Generative-AI-Landscape Working of generative ai search
 
GENERAL CONDITIONS FOR CONTRACTS OF CIVIL ENGINEERING WORKS
GENERAL CONDITIONS  FOR  CONTRACTS OF CIVIL ENGINEERING WORKS GENERAL CONDITIONS  FOR  CONTRACTS OF CIVIL ENGINEERING WORKS
GENERAL CONDITIONS FOR CONTRACTS OF CIVIL ENGINEERING WORKS
 
Design of Clutches and Brakes in Design of Machine Elements.pptx
Design of Clutches and Brakes in Design of Machine Elements.pptxDesign of Clutches and Brakes in Design of Machine Elements.pptx
Design of Clutches and Brakes in Design of Machine Elements.pptx
 
Summer training report on BUILDING CONSTRUCTION for DIPLOMA Students.pdf
Summer training report on BUILDING CONSTRUCTION for DIPLOMA Students.pdfSummer training report on BUILDING CONSTRUCTION for DIPLOMA Students.pdf
Summer training report on BUILDING CONSTRUCTION for DIPLOMA Students.pdf
 
Graphics Primitives and CG Display Devices
Graphics Primitives and CG Display DevicesGraphics Primitives and CG Display Devices
Graphics Primitives and CG Display Devices
 
UNIT4_ESD_wfffffggggggggggggith_ARM.pptx
UNIT4_ESD_wfffffggggggggggggith_ARM.pptxUNIT4_ESD_wfffffggggggggggggith_ARM.pptx
UNIT4_ESD_wfffffggggggggggggith_ARM.pptx
 
計劃趕得上變化
計劃趕得上變化計劃趕得上變化
計劃趕得上變化
 
The relationship between iot and communication technology
The relationship between iot and communication technologyThe relationship between iot and communication technology
The relationship between iot and communication technology
 
Lecture 2 .pdf
Lecture 2                           .pdfLecture 2                           .pdf
Lecture 2 .pdf
 
nvidia AI-gtc 2024 partial slide deck.pptx
nvidia AI-gtc 2024 partial slide deck.pptxnvidia AI-gtc 2024 partial slide deck.pptx
nvidia AI-gtc 2024 partial slide deck.pptx
 
Power System electrical and electronics .pptx
Power System electrical and electronics .pptxPower System electrical and electronics .pptx
Power System electrical and electronics .pptx
 
Vertical- Machining - Center - VMC -LMW-Machine-Tool-Division.pptx
Vertical- Machining - Center - VMC -LMW-Machine-Tool-Division.pptxVertical- Machining - Center - VMC -LMW-Machine-Tool-Division.pptx
Vertical- Machining - Center - VMC -LMW-Machine-Tool-Division.pptx
 
Lecture 1: Basics of trigonometry (surveying)
Lecture 1: Basics of trigonometry (surveying)Lecture 1: Basics of trigonometry (surveying)
Lecture 1: Basics of trigonometry (surveying)
 
Multicomponent Spiral Wound Membrane Separation Model.pdf
Multicomponent Spiral Wound Membrane Separation Model.pdfMulticomponent Spiral Wound Membrane Separation Model.pdf
Multicomponent Spiral Wound Membrane Separation Model.pdf
 
دليل تجارب الاسفلت المختبرية - Asphalt Experiments Guide Laboratory
دليل تجارب الاسفلت المختبرية - Asphalt Experiments Guide Laboratoryدليل تجارب الاسفلت المختبرية - Asphalt Experiments Guide Laboratory
دليل تجارب الاسفلت المختبرية - Asphalt Experiments Guide Laboratory
 
Lecture 2 .pptx
Lecture 2                            .pptxLecture 2                            .pptx
Lecture 2 .pptx
 
Lecture 4 .pdf
Lecture 4                              .pdfLecture 4                              .pdf
Lecture 4 .pdf
 
Quasi-Stochastic Approximation: Algorithm Design Principles with Applications...
Quasi-Stochastic Approximation: Algorithm Design Principles with Applications...Quasi-Stochastic Approximation: Algorithm Design Principles with Applications...
Quasi-Stochastic Approximation: Algorithm Design Principles with Applications...
 
Nodal seismic construction requirements.pptx
Nodal seismic construction requirements.pptxNodal seismic construction requirements.pptx
Nodal seismic construction requirements.pptx
 

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