Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Practical WatchKit Development (UIKonf 2015)
Search
Claus Höfele
May 18, 2015
Programming
300
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Practical WatchKit Development (UIKonf 2015)
Presentation at UIKonf 2015 in Berlin
http://www.uikonf.com
Claus Höfele
May 18, 2015
More Decks by Claus Höfele
See All by Claus Höfele
Server-Side Swift (iOSDevUK 7)
choefele
0
250
Running Swift Code on AWS Lambda (CocoaHeads 01/2017)
choefele
0
380
Swift server applications with Docker (Swift.Berlin #21)
choefele
0
340
Practical WatchKit Development (CocoaHeads 04/2015)
choefele
0
110
Developing Apps for the Watch
choefele
0
160
Other Decks in Programming
See All in Programming
書籍「プロフェッショナルAI駆動開発」紹介スライド
juntaromatsumoto
0
980
AIの中の人になってみる
htkym
0
160
Swift愛好会100回記念 第1回を振り返る
jollyjoester
0
120
AIに既存システムを理解させる技術 ~レガシーを見捨てないハーネスエンジニアリング入門~
ochtum
0
200
PHPプロジェクトの結合バランスを可視化する #php_night
kajitack
0
210
PyO3 で既存 Python 評価器を Rust core 化する ー wasm-bindgen でブラウザにも配るための設計
kdash
1
370
Flow は今どうなっているか
mizdra
PRO
0
910
業務時間外もAIに働いてもらう話
colorful12
3
9.9k
From 6 People Classroom Meetup to 100 People Regional Conference / FOSS4G Hiroshima 2026
furukawayasuto
0
100
AI時代に学ぶ 好きなルール 嫌いなルール Linter編
shorty5121
0
830
レビュー履歴をAIに食わせて、 Compose移行を加速するs
shihochan
0
260
ソフトウェアラスタライザ
fadis
1
790
Featured
See All Featured
How to Think Like a Performance Engineer
csswizardry
28
2.8k
Making the Leap to Tech Lead
cromwellryan
135
10k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.5k
[RailsConf 2023] Rails as a piece of cake
palkan
59
7k
Mobile First: as difficult as doing things right
swwweet
225
10k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.4k
Building AI with AI
inesmontani
PRO
1
1.2k
Technical Leadership for Architectural Decision Making
baasie
3
550
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
69
65k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
The agentic SEO stack - context over prompts
schlessera
0
890
Transcript
Practical WatchKit Development @claushoefele
Kleinanzeigen TransitHopper
WatchKit App WatchKit Extension iOS App WatchKit App vs Extension
None
Interactive Notifications
class TripDetailInterfaceController: WKInterfaceController { @IBOutlet private weak var map: WKInterfaceMap!
override func awakeWithContext(context: AnyObject?) { super.awakeWithContext(context) ... } override func willActivate() { super.willActivate() ... } }
map.addAnnotation(coordinate, withPinColor: .Red) let coordinateRegion = MKCoordinateRegionMakeWithDistance[...] map.setRegion(coordinateRegion)
Tables
Paging
Hides when loading Off On
None
WatchKit App WatchKit Extension Requesting Data
WatchKit App WatchKit Extension iOS App openParentApplication()
private func callParentApp() { let userInfo = ["input": "data"] WKInterfaceController.openParentApplication(userInfo)
{ replyInfo, error in println("reply \(replyInfo)") } } func application(_:handleWatchKitExtensionRequest:reply:) Calling the Parent App
Handoff
User Location Permissions WatchKit App WatchKit Extension iOS App When
In Use Always
WatchKit Extension iOS App Sharing Data
None
let defaults = NSUserDefaults(suiteName: "group.com.claushoefele.T")! func updateObjectForKey<T: NSCoding>(key: String, item:
T) { let data = NSKeyedArchiver.archivedDataWithRootObject(item) defaults.setObject(data, forKey: key) }
WatchKit Extension iOS App Signalling
func sendDarwinNotification(identifier: String) { let darwinNotificationCenter = CFNotificationCenterGetDarwinNotifyCenter() CFNotificationCenterPostNotification(darwinNotificationCenter, identifier,
nil, nil, 1); } CFNotificationCenterAddObserver
Data Sync
“A WatchKit app complements your iOS app; it does not
replace it.” –Apple Watch HIG
“Anything that could show the user a progress spinner (however
briefly) is a failure on my part.” –David Smith
“[…] many of us — developers included — are still figuring out how
this device fits into daily life […]” –M.G. Siegler
Practical WatchKit Development @claushoefele http://slack.fiveminutewatchkit.com