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
Can send message to Watch App?
Search
Kishikawa Katsumi
May 27, 2015
Technology
1
1.1k
Can send message to Watch App?
Can send message to Watch App?
Inter-Process Notifications on iOS
Kishikawa Katsumi
May 27, 2015
Tweet
Share
More Decks by Kishikawa Katsumi
See All by Kishikawa Katsumi
Enhancing Applications with Accessibility API
kishikawakatsumi
3
2.6k
Mastering SwiftSyntax
kishikawakatsumi
3
4.7k
My SwiftData Review
kishikawakatsumi
7
1.3k
Swift Expression Macros: a practical introduction
kishikawakatsumi
3
1.7k
Xcode Cloudの評価
kishikawakatsumi
2
1.2k
Regular expressions basics/正規表現の基本
kishikawakatsumi
7
680
家のいろいろな数値を計測する
kishikawakatsumi
4
2k
GitHub Actionsでテストの結果をわかりやすく表示する
kishikawakatsumi
1
860
GitHub Actionsでテストの結果をわかりやすく表示する
kishikawakatsumi
1
1.7k
Other Decks in Technology
See All in Technology
AWSで”最小権限の原則”を実現するための考え方 /20240722-ssmjp-aws-least-privilege
opelab
10
4.3k
[2024最新版]AWS Control Towerを使ったセキュアなマルチアカウント環境の作り方
hiashisan
0
270
Azure AI ことはじめ
tsubakimoto_s
0
130
ここがすごいよ! AWS Systems Manager!
saichan11
0
1.8k
【基調講演】変える、今ここから ― IoTとAIで紡ぐ未来
soracom
PRO
0
320
Flutter研修【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
160
DDDにおける認可の扱いとKotlinにおける実装パターン / authorization-for-ddd-and-kotlin-implement-pattern
urmot
4
390
頼られるのが大好きな 皆さんへ - 支援相手との期待の合わせ方、突き放し方 -/For_people_who_like_to_be_relied_on
naitosatoshi
1
290
ソフトウェアエンジニアリングの知見を活かして データ基盤をいい感じにする on Snowflake [MIERUNE BBQ #10]
mtpooh
2
150
データ分析を支える技術 生成AI再入門
ishikawa_satoru
0
380
Amazon FSx for NetApp ONTAPのパフォーマンスチューニング要素をまとめてみた #cm_odyssey #devio2024
non97
0
220
目標設定は好きですか? アジャイルとともに目標と向き合い続ける方法 / Do you like target Management?
kakehashi
10
3k
Featured
See All Featured
Designing for humans not robots
tammielis
247
25k
Bash Introduction
62gerente
607
210k
Leading Effective Engineering Teams 2024
addyosmani
3
300
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
16
1.6k
Writing Fast Ruby
sferik
623
60k
The World Runs on Bad Software
bkeepers
PRO
63
11k
Designing Experiences People Love
moore
136
23k
How To Stay Up To Date on Web Technology
chriscoyier
784
250k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
662
120k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
228
16k
A designer walks into a library…
pauljervisheath
201
24k
Principles of Awesome APIs and How to Build Them.
keavy
124
16k
Transcript
Apple Watch meetup
https://github.com/kishikawakatsumi/ kishikawa katsumi at Realm Inc http://kishikawakatsumi.hatenablog.com/
Anime Today
Can send message to Watch App?
Watch App => Container App
Watch App => Container App + (BOOL)openParentApplication:(NSDictionary *)userInfo reply:(void (^)(NSDictionary
*replyInfo, NSError *error))reply
Container App => Watch App
mutualmobile/MMWormhole
MMWormhole [self.wormhole passMessageObject:@{@"buttonNumber": @(1)} identifier:@"button"]; [self.wormhole listenForMessageWithIdentifier:@"button" listener:^(id messageObject) {
self.numberLabel.text = [messageObject[@"buttonNumber"] stringValue]; }];
Darwin Notify Center
Darwin Notify Center - Based on the libnotify. - Cannot
be passed "objects" - Cannot be passed "userInfo" - Always "deliver immediately"
Darwin Notify Center CFNotificationCenterRef const center = CFNotificationCenterGetDarwinNotifyCenter(); CFStringRef str
= (__bridge CFStringRef)@"com.kishikawakatsumi.notification.test"; CFNotificationCenterAddObserver(center, (__bridge const void *)(self), notificationCallback, str, NULL, CFNotificationSuspensionBehaviorDeliverImmediately); void notificationCallback(CFNotificationCenterRef center, void * observer, CFStringRef name, void const * object, CFDictionaryRef userInfo) { ... }
App => Today Extension App => Keyboard Extension
App => Other Apps
notify_keys.h /* * File System notifications * These advise clients
of various filesystem events. */ #define kNotifyVFSMount "com.apple.system.kernel.mount" #define kNotifyVFSUnmount "com.apple.system.kernel.unmount" #define kNotifyVFSUpdate "com.apple.system.kernel.mountupdate" #define kNotifyVFSLowDiskSpace "com.apple.system.lowdiskspace" #define kNotifyVFSLowDiskSpaceRootFS "com.apple.system.lowdiskspace.system" #define kNotifyVFSLowDiskSpaceOtherFS "com.apple.system.lowdiskspace.user"
com.apple.springboard.lockcomplete com.apple.springboard.ringerstate com.apple.springboard.deviceWillShutDown com.apple.springboard.lowPowerAlertPresented ...
Inter-Process Notifications on iOS http://realm.io/news/thomas-goyne-fast-inter-process-communication/ References