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.3k
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
Build your own WebP codec in Swift
kishikawakatsumi
2
950
iOSDC 2024 SMBファイル共有をSwiftで実装する
kishikawakatsumi
1
260
Enhancing Applications with Accessibility API
kishikawakatsumi
3
4.6k
Mastering SwiftSyntax
kishikawakatsumi
4
6.9k
My SwiftData Review
kishikawakatsumi
7
1.5k
Swift Expression Macros: a practical introduction
kishikawakatsumi
3
2k
Xcode Cloudの評価
kishikawakatsumi
2
1.4k
Regular expressions basics/正規表現の基本
kishikawakatsumi
7
810
家のいろいろな数値を計測する
kishikawakatsumi
4
2.4k
Other Decks in Technology
See All in Technology
10年の共創が示す、これからの開発者と企業の関係 ~ Crossroad
soracom
PRO
1
710
社内お問い合わせBotの仕組みと学び
nish01
1
560
KMP の Swift export
kokihirokawa
0
350
Shirankedo NOCで見えてきたeduroam/OpenRoaming運用ノウハウと課題 - BAKUCHIKU BANBAN #2
marokiki
0
180
OCI Network Firewall 概要
oracle4engineer
PRO
2
7.9k
AI時代こそ求められる設計力- AWSクラウドデザインパターン3選で信頼性と拡張性を高める-
kenichirokimura
3
290
GoでもGUIアプリを作りたい!
kworkdev
PRO
0
130
プロダクトのコードから見るGoによるデザインパターンの実践 #go_night_talk
bengo4com
1
2.3k
Reflections of AI: A Trilogy in Four Parts (GOTO; Copenhagen 2025)
ondfisk
0
110
関係性が駆動するアジャイル──GPTに人格を与えたら、対話を通してふりかえりを習慣化できた話
mhlyc
0
140
セキュアな認可付きリモートMCPサーバーをAWSマネージドサービスでつくろう! / Let's build an OAuth protected remote MCP server based on AWS managed services
kaminashi
3
290
[Codex Meetup Japan #1] Codex-Powered Mobile Apps Development
korodroid
0
140
Featured
See All Featured
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
Balancing Empowerment & Direction
lara
4
690
Faster Mobile Websites
deanohume
310
31k
Facilitating Awesome Meetings
lara
56
6.6k
RailsConf 2023
tenderlove
30
1.2k
Making Projects Easy
brettharned
119
6.4k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
Bash Introduction
62gerente
615
210k
Making the Leap to Tech Lead
cromwellryan
135
9.6k
Automating Front-end Workflow
addyosmani
1371
200k
Reflections from 52 weeks, 52 projects
jeffersonlam
352
21k
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