SlideShare a Scribd company logo
1 of 51
Download to read offline
Watch Connectivityについて
成田 元輝
自己紹介
自己紹介
• 成田元輝(@mo_to_44)
• 株式会社ネクストでHOME SのiOS
アプリを開発しています
引越しの際に使っ
ていただけると
嬉しいです!
HOME Sアプリ作ってます!
Apple Watch対応!
現在地から家賃相場を検索したり、
全国の家賃相場を当てる家賃相場
クイズ機能!
WWDC2015行ってきました!
WWDC ホテルがなかった で検索すると
ブログが出てくるので読んでみてください
Watch Connectivity
watchOS1をおさらい
watchOS1のiPhoneとAppleWatch
WatchKit
App
iOS App
WatchKit
Extension
watchOS 1
Data
Store
Introducing Watch Connectivityより
watchOS1まで
• ExtensionがiPhone側にあった
• 基本的にiPhoneで処理される
• データもiPhone側に置かれていた(Apple Watch
側に置かれるのはStoryboardとリソースファイル
のみ)
• iPhoneからデータを取って来る際は
openParentApplication:を使用していた
watchOS2から
watchOS2からのiPhoneとAppleWatch
Introducing Watch Connectivityより
iOS App
WatchKit
App
WatchKit
Extension
watchOS 2
Data
Store
Data
Store
watchOS2から
• ExtensionがAppleWatchに置かれ
るようになった→ネイティブ!
• Watch側にデータが保存可能に!
• iPhoneからデータを取って来る際は
WatchConnectivityを使う
Introducing Watch Connectivityより
WatchConnectivity NSURLSession
WatchConnectivity
• iPhone ⇄ Apple Watchでデータのやり取
りを可能にする
• リアルタイムでの通信とバックグラウンド
での通信の2種類
Watch Connectivity で検索すればリファレンス見つかります
https://developer.apple.com/library/prerelease/ios/documentation/WatchConnectivity/Reference/WatchConnectivity_framework/index.html
WatchConnectivity.Frameworkに

含まれるクラス
WCSession

&

WCSessionDelegate
WCSession
• データ通信を可能にするにはセッションを
アクティベートする必要がある
• iPhoneとApple Watchの接続状態をトラッ
キングするためのプロパティが定義されて
いる
WCSessionを開始
Introducing Watch Connectivityより
Setup
Always set your apps up to receive incoming WatchConnectivity content
if (WCSession.isSupported()) {
let session = WCSession.defaultSession()
session.delegate = self // conforms to WCSessionDelegate
session.activateSession()

}
WCSessionDelegate
• iPhone or Apple Watchから送信したデータをApple
Watch or iPhoneで受け取るデリゲートメソッド
• WCSessionオブジェクトの状態変わったことを確認
するためのデリゲートメソッド
• データ転送が終わったタイミングを知るためのデリ
ゲートメソッド
iPhoneとApple Watchの

接続状態を知る
• paird

→ iPhoneとApple Watchがペアリングさ
れているか
• watchAppInstalled

→ そのアプリのWatch appがインストー
ルされているか
接続状態を知るための

WCSessionのプロパティ
• complicationEnabled

→ complicationがApple Watchのフェイ
スに設定されているか
• reachable

→ 対応するiPhoneアプリ/Watch appがア
クティブで通信可能な状態になっているか
接続状態を知るための

WCSessionのプロパティ
• sessionWatchStateDidChange

→ paired, watchAppInstalled,
complicationEnabled, watchDirectoryURLなど
に変化があった際に呼ばれる
• sessionReachabilityDidChange

→ 対になるアプリのreachabilityに変化があった際
に呼ばれる
接続状態が変わったことを受け取る

WCSessionDelegateのデリゲートメソッド
iPhone⇄Apple Watch

データのやり取り
データを送る方法
• Background Transfers
• Interactive Messaging
• OSがいい感じのタイミングで転送し
てくれるらしい
Background Transfers
Interactive Messaging
• すぐに転送してくれる
• Application Context
• User Info Transfer
• File Transfer
Background Transfers
Background Transfers
Application Context
• 押さえておくべきこと
• 更新すると上書きされる
• Dictionary([String:AnyObject])型のデータが格納可能
• session:didReceiveApplicationContextで対
になるアプリからのデータを受け取る
Background Transfers
Application Context
• updateApplicationContext:error:メソッドを使用して
applicationContextを更新
• WCSessionオブジェクトのapplicationContextプロパティで
updateApplicationContext:error:で送ったデータの確認が可能
• updateApplicationContext:error:を呼ぶごとにデータが上書きされる
• session:didReceiveApplicationContextで対になるアプリからのデー
タを受け取る
Background Transfers
• 押さえておくべきこと
• Application Contextと異なり上書きされずキューイ
ングされる
• Dictionary([String:AnyObject])型のデータが格納可能
• session:didReceiveUserInfo:で対になるアプリから
のデータを受け取る
User Info Transfer
Background Transfers
User Info Transfer
• transferUserInfo:メソッドを使用してデータをキューイングする
• WCSessionオブジェクトのoutstandingUserInfoTransfersプロパティで
キューイングされているデータを確認することが可能
• WCSessionUserInfoTransferというオブジェクトで
outstandingUserInfoTransfersプロパティに保存されている
• session:didReceiveUserInfo:で対になるアプリからのデータを受け取る
• session:didFinishUserInfoTransfer:error:で転送完了、あるいはエラーが
発生した場合の処理
Background Transfers
• 押さえておくべきこと
• キューイングなどはUserInfoと基本的に同じ
• ファイルの転送が可能
• メタデータを付与することが可能([String:AnyObject])
• session:didReceiveFile:で対になるアプリからのデータを
受け取る
File Transfer
Background Transfers
File Transfer
• transferFile:メソッドを使用してファイルの送信が可能
• データ容量の大きいファイル(画像、ドキュメントなど)を転送したい場合に転送する
• WCSessionオブジェクトのoutstandingFileTransfersプロパティでキューイングされて
いるデータを確認することが可能
• WCSessionFileTransferというオブジェクトでoutstandingFileTransfersプロパティに保
存されている
• session:didReceiveFile:で対になるアプリからのデータを受け取る
• session:didFinishFileTransfer:error:で転送完了、あるいはエラーが発生した場合の処理
をする
Interactive Messaging
Interactive Messaging
• リアルタイムにやり取りができる
• テキストのやり取りだけでなく、画像などのデータのやり取りも
可能(大きすぎるデータはダメ)
• iPhone/Apple Watchが通信可能な状態(reachable)であること
が条件
• Apple Watch→iPhoneの場合のみ、iPhoneアプリをBackground
で動作させることが可能
通信可能な状態とは?
• iPhone側でWCSessionオブジェクトの
reachable=trueになるのは、Bluetoothで
Apple Watchと通信が可能な状態で、なお
かつWatch appがフォアグラウンドにある
状態
iPhone側でreachableな状態
Interactive Messaging
Reachability:iPhone
Devices connected
Watch app foreground
iOS App
Watch
App
session.reachable == true
Introducing Watch Connectivityより
通信可能な状態とは?
• Apple Watch側でWCSessionオブジェク
トのreachable=trueになるのは、
BluetoothでiPhoneと通信が可能な状態

→iPhoneアプリがフォアグラウンドであるかどうかは関係ない
Interactive Messaging
Devices connected
WatchKit extension foreground
Watch
App
WatchKit
Extension
session.reachable == true
Reachability:Apple Watch
Apple Watch側でreachableな状態
Introducing Watch Connectivityより
iOSはバックグラウンド動作可能
• Apple Watch → iPhoneの場合はiPhone
をバックグラウンドで動作させることが可
能
• watchOS1のopenParentApplication:と
同じようにデータを取ってくることも可能
Interactive Messaging
Interactive Messaging
Background launching:iOS app only
Run Tracker
App
WatchKit
Extension
iOS App
Background
Introducing Watch Connectivityより
Interactive Messaging
• 送信可能なデータ
• Dictionary([String:AnyObject])型のデータが格
納可能
• NSData=画像なども送信可能
Interactive Messaging
• 以下のメソッドを使用してデータ送信
• sendMessage:replyHandler:errorHandler:
• sendMessageData:replyHandler:errorHandler:
Interactive Messaging
• 以下のメソッドを使用してデータを受け取る
• session:didReceiveMessage:
• session:didReceiveMessage:replyHandler:
• session:didReceiveMessageData:
• session:didReceiveMessageData:replyHandler:
Interactive Messaging
• 以下のメソッドを使用してデータを受け取る
• session:didReceiveMessage:
• session:didReceiveMessage:replyHandler:
• session:didReceiveMessageData:
• session:didReceiveMessageData:replyHandler:
replyHandlerを利用して通信結果などの情報を送信側に

返した方が良さそう
• 押さえておくべきこと
• データ送信前に通信可能であること
(=reachable)であることを確認する
• Apple Watch→iPhoneの場合はiOSアプリを
バックグランドで動作させることが可能
• Dictionary([String:AnyObject])に加えて、NSData
型データの送信も可能
Interactive Messaging
おわり

More Related Content

What's hot

Zabbixで学ぶ統計解析入門
Zabbixで学ぶ統計解析入門Zabbixで学ぶ統計解析入門
Zabbixで学ぶ統計解析入門Takeo Noda
 
Docker入門 - 基礎編 いまから始めるDocker管理
Docker入門 - 基礎編 いまから始めるDocker管理Docker入門 - 基礎編 いまから始めるDocker管理
Docker入門 - 基礎編 いまから始めるDocker管理Masahito Zembutsu
 
継続的インテグレーションとテストの話
継続的インテグレーションとテストの話継続的インテグレーションとテストの話
継続的インテグレーションとテストの話Preferred Networks
 
[CEDEC2017] LINEゲームのセキュリティ診断手法
[CEDEC2017] LINEゲームのセキュリティ診断手法[CEDEC2017] LINEゲームのセキュリティ診断手法
[CEDEC2017] LINEゲームのセキュリティ診断手法LINE Corporation
 
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptxネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptxShota Shinogi
 
CloudNativeな決済サービスの開発と2年間の歩み #sf_A4
CloudNativeな決済サービスの開発と2年間の歩み #sf_A4CloudNativeな決済サービスの開発と2年間の歩み #sf_A4
CloudNativeな決済サービスの開発と2年間の歩み #sf_A4Junya Suzuki
 
情報推薦システム入門:講義スライド
情報推薦システム入門:講義スライド情報推薦システム入門:講義スライド
情報推薦システム入門:講義スライドKenta Oku
 
フリーでできるセキュリティチェック OpenVAS CLI編
フリーでできるセキュリティチェック OpenVAS CLI編フリーでできるセキュリティチェック OpenVAS CLI編
フリーでできるセキュリティチェック OpenVAS CLI編abend_cve_9999_0001
 
MRTK V2.3 Spatial Awareness
MRTK V2.3 Spatial AwarenessMRTK V2.3 Spatial Awareness
MRTK V2.3 Spatial AwarenessYuichi Ishii
 
Orange Data Mining 軟體系統簡介及生醫應用支援
Orange Data Mining 軟體系統簡介及生醫應用支援Orange Data Mining 軟體系統簡介及生醫應用支援
Orange Data Mining 軟體系統簡介及生醫應用支援Frank Fang Kuo Yu
 
Github Actionsで始めるROS/ROS2のCI
Github Actionsで始めるROS/ROS2のCIGithub Actionsで始めるROS/ROS2のCI
Github Actionsで始めるROS/ROS2のCIAtsuki Yokota
 
知能が作る社会・社会が作る知能:HAI研究による知能と社会のデザイン(大澤 博隆)
知能が作る社会・社会が作る知能:HAI研究による知能と社会のデザイン(大澤 博隆)知能が作る社会・社会が作る知能:HAI研究による知能と社会のデザイン(大澤 博隆)
知能が作る社会・社会が作る知能:HAI研究による知能と社会のデザイン(大澤 博隆)KIT Cognitive Interaction Design
 
殺しても死なないアプリ 〜Core Bluetooth の「状態の保存と復元」機能〜
殺しても死なないアプリ 〜Core Bluetooth の「状態の保存と復元」機能〜殺しても死なないアプリ 〜Core Bluetooth の「状態の保存と復元」機能〜
殺しても死なないアプリ 〜Core Bluetooth の「状態の保存と復元」機能〜Shuichi Tsutsumi
 
ROSを用いた歩行ロボットの脚の開発
ROSを用いた歩行ロボットの脚の開発ROSを用いた歩行ロボットの脚の開発
ROSを用いた歩行ロボットの脚の開発ShomaUehara
 
組み込み開発でのシステムテスト自動化の一つの考え方(STAC)
組み込み開発でのシステムテスト自動化の一つの考え方(STAC)組み込み開発でのシステムテスト自動化の一つの考え方(STAC)
組み込み開発でのシステムテスト自動化の一つの考え方(STAC)H Iseri
 
アプリの鍵が消える時_Droid kaigi2018
アプリの鍵が消える時_Droid kaigi2018アプリの鍵が消える時_Droid kaigi2018
アプリの鍵が消える時_Droid kaigi2018ak_shio_555
 
10分でわかるOpenAPI V3
10分でわかるOpenAPI V310分でわかるOpenAPI V3
10分でわかるOpenAPI V3Kazuchika Sekiya
 
意見が出ない振り返りからチームを自己組織化に近づけたふりかえり改善事例 #agilejapan
意見が出ない振り返りからチームを自己組織化に近づけたふりかえり改善事例 #agilejapan意見が出ない振り返りからチームを自己組織化に近づけたふりかえり改善事例 #agilejapan
意見が出ない振り返りからチームを自己組織化に近づけたふりかえり改善事例 #agilejapanYahoo!デベロッパーネットワーク
 
Gazebo/ROSで力覚センサプラグインを使う
Gazebo/ROSで力覚センサプラグインを使うGazebo/ROSで力覚センサプラグインを使う
Gazebo/ROSで力覚センサプラグインを使うHDeanK
 

What's hot (20)

卒論
卒論 卒論
卒論
 
Zabbixで学ぶ統計解析入門
Zabbixで学ぶ統計解析入門Zabbixで学ぶ統計解析入門
Zabbixで学ぶ統計解析入門
 
Docker入門 - 基礎編 いまから始めるDocker管理
Docker入門 - 基礎編 いまから始めるDocker管理Docker入門 - 基礎編 いまから始めるDocker管理
Docker入門 - 基礎編 いまから始めるDocker管理
 
継続的インテグレーションとテストの話
継続的インテグレーションとテストの話継続的インテグレーションとテストの話
継続的インテグレーションとテストの話
 
[CEDEC2017] LINEゲームのセキュリティ診断手法
[CEDEC2017] LINEゲームのセキュリティ診断手法[CEDEC2017] LINEゲームのセキュリティ診断手法
[CEDEC2017] LINEゲームのセキュリティ診断手法
 
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptxネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
 
CloudNativeな決済サービスの開発と2年間の歩み #sf_A4
CloudNativeな決済サービスの開発と2年間の歩み #sf_A4CloudNativeな決済サービスの開発と2年間の歩み #sf_A4
CloudNativeな決済サービスの開発と2年間の歩み #sf_A4
 
情報推薦システム入門:講義スライド
情報推薦システム入門:講義スライド情報推薦システム入門:講義スライド
情報推薦システム入門:講義スライド
 
フリーでできるセキュリティチェック OpenVAS CLI編
フリーでできるセキュリティチェック OpenVAS CLI編フリーでできるセキュリティチェック OpenVAS CLI編
フリーでできるセキュリティチェック OpenVAS CLI編
 
MRTK V2.3 Spatial Awareness
MRTK V2.3 Spatial AwarenessMRTK V2.3 Spatial Awareness
MRTK V2.3 Spatial Awareness
 
Orange Data Mining 軟體系統簡介及生醫應用支援
Orange Data Mining 軟體系統簡介及生醫應用支援Orange Data Mining 軟體系統簡介及生醫應用支援
Orange Data Mining 軟體系統簡介及生醫應用支援
 
Github Actionsで始めるROS/ROS2のCI
Github Actionsで始めるROS/ROS2のCIGithub Actionsで始めるROS/ROS2のCI
Github Actionsで始めるROS/ROS2のCI
 
知能が作る社会・社会が作る知能:HAI研究による知能と社会のデザイン(大澤 博隆)
知能が作る社会・社会が作る知能:HAI研究による知能と社会のデザイン(大澤 博隆)知能が作る社会・社会が作る知能:HAI研究による知能と社会のデザイン(大澤 博隆)
知能が作る社会・社会が作る知能:HAI研究による知能と社会のデザイン(大澤 博隆)
 
殺しても死なないアプリ 〜Core Bluetooth の「状態の保存と復元」機能〜
殺しても死なないアプリ 〜Core Bluetooth の「状態の保存と復元」機能〜殺しても死なないアプリ 〜Core Bluetooth の「状態の保存と復元」機能〜
殺しても死なないアプリ 〜Core Bluetooth の「状態の保存と復元」機能〜
 
ROSを用いた歩行ロボットの脚の開発
ROSを用いた歩行ロボットの脚の開発ROSを用いた歩行ロボットの脚の開発
ROSを用いた歩行ロボットの脚の開発
 
組み込み開発でのシステムテスト自動化の一つの考え方(STAC)
組み込み開発でのシステムテスト自動化の一つの考え方(STAC)組み込み開発でのシステムテスト自動化の一つの考え方(STAC)
組み込み開発でのシステムテスト自動化の一つの考え方(STAC)
 
アプリの鍵が消える時_Droid kaigi2018
アプリの鍵が消える時_Droid kaigi2018アプリの鍵が消える時_Droid kaigi2018
アプリの鍵が消える時_Droid kaigi2018
 
10分でわかるOpenAPI V3
10分でわかるOpenAPI V310分でわかるOpenAPI V3
10分でわかるOpenAPI V3
 
意見が出ない振り返りからチームを自己組織化に近づけたふりかえり改善事例 #agilejapan
意見が出ない振り返りからチームを自己組織化に近づけたふりかえり改善事例 #agilejapan意見が出ない振り返りからチームを自己組織化に近づけたふりかえり改善事例 #agilejapan
意見が出ない振り返りからチームを自己組織化に近づけたふりかえり改善事例 #agilejapan
 
Gazebo/ROSで力覚センサプラグインを使う
Gazebo/ROSで力覚センサプラグインを使うGazebo/ROSで力覚センサプラグインを使う
Gazebo/ROSで力覚センサプラグインを使う
 

Similar to Watch connectivity

watchOS1 to watchOS2
watchOS1 to watchOS2watchOS1 to watchOS2
watchOS1 to watchOS2Motoki Narita
 
iOS 8 App Extension
iOS 8 App ExtensioniOS 8 App Extension
iOS 8 App ExtensionTakeo Nanba
 
watchOS2 - iPhone Appとのデータ同期について
watchOS2 - iPhone Appとのデータ同期についてwatchOS2 - iPhone Appとのデータ同期について
watchOS2 - iPhone Appとのデータ同期についてTaiki Hirai
 
iBeacon Applications
iBeacon ApplicationsiBeacon Applications
iBeacon ApplicationsKosuke Usami
 
自作アプリを watchOS 2 対応した話 〜FastCheckin編〜
自作アプリを watchOS 2 対応した話 〜FastCheckin編〜自作アプリを watchOS 2 対応した話 〜FastCheckin編〜
自作アプリを watchOS 2 対応した話 〜FastCheckin編〜Kosuke Ogawa
 
watchOS 2 新機能の細かい話
watchOS 2 新機能の細かい話watchOS 2 新機能の細かい話
watchOS 2 新機能の細かい話Shuichi Tsutsumi
 
tvOS開発前に確認すべきこと
tvOS開発前に確認すべきことtvOS開発前に確認すべきこと
tvOS開発前に確認すべきこと庸介 高橋
 
AppleWatch発売!Apple Watch WatchKit勉強会-Notification
AppleWatch発売!Apple Watch WatchKit勉強会-NotificationAppleWatch発売!Apple Watch WatchKit勉強会-Notification
AppleWatch発売!Apple Watch WatchKit勉強会-NotificationHiroaki Kaneda
 
[20140625]wwdc2014 feedback
[20140625]wwdc2014 feedback[20140625]wwdc2014 feedback
[20140625]wwdc2014 feedbackVOYAGE GROUP
 
【社内LT】iPhoneアプリ開発のすすめ
【社内LT】iPhoneアプリ開発のすすめ【社内LT】iPhoneアプリ開発のすすめ
【社内LT】iPhoneアプリ開発のすすめVitalify.Inc
 
iphone5 発表イベント 最速まとめLT
iphone5 発表イベント 最速まとめLTiphone5 発表イベント 最速まとめLT
iphone5 発表イベント 最速まとめLTVOYAGE GROUP
 
iphone5 発表イベント 速報まとめ
iphone5 発表イベント 速報まとめiphone5 発表イベント 速報まとめ
iphone5 発表イベント 速報まとめVOYAGE GROUP
 

Similar to Watch connectivity (14)

watchOS1 to watchOS2
watchOS1 to watchOS2watchOS1 to watchOS2
watchOS1 to watchOS2
 
Apple Watch 間通信
Apple Watch 間通信Apple Watch 間通信
Apple Watch 間通信
 
iOS 8 App Extension
iOS 8 App ExtensioniOS 8 App Extension
iOS 8 App Extension
 
watchOS2 - iPhone Appとのデータ同期について
watchOS2 - iPhone Appとのデータ同期についてwatchOS2 - iPhone Appとのデータ同期について
watchOS2 - iPhone Appとのデータ同期について
 
iOS豆知識ver0.0.5
iOS豆知識ver0.0.5iOS豆知識ver0.0.5
iOS豆知識ver0.0.5
 
iBeacon Applications
iBeacon ApplicationsiBeacon Applications
iBeacon Applications
 
自作アプリを watchOS 2 対応した話 〜FastCheckin編〜
自作アプリを watchOS 2 対応した話 〜FastCheckin編〜自作アプリを watchOS 2 対応した話 〜FastCheckin編〜
自作アプリを watchOS 2 対応した話 〜FastCheckin編〜
 
watchOS 2 新機能の細かい話
watchOS 2 新機能の細かい話watchOS 2 新機能の細かい話
watchOS 2 新機能の細かい話
 
tvOS開発前に確認すべきこと
tvOS開発前に確認すべきことtvOS開発前に確認すべきこと
tvOS開発前に確認すべきこと
 
AppleWatch発売!Apple Watch WatchKit勉強会-Notification
AppleWatch発売!Apple Watch WatchKit勉強会-NotificationAppleWatch発売!Apple Watch WatchKit勉強会-Notification
AppleWatch発売!Apple Watch WatchKit勉強会-Notification
 
[20140625]wwdc2014 feedback
[20140625]wwdc2014 feedback[20140625]wwdc2014 feedback
[20140625]wwdc2014 feedback
 
【社内LT】iPhoneアプリ開発のすすめ
【社内LT】iPhoneアプリ開発のすすめ【社内LT】iPhoneアプリ開発のすすめ
【社内LT】iPhoneアプリ開発のすすめ
 
iphone5 発表イベント 最速まとめLT
iphone5 発表イベント 最速まとめLTiphone5 発表イベント 最速まとめLT
iphone5 発表イベント 最速まとめLT
 
iphone5 発表イベント 速報まとめ
iphone5 発表イベント 速報まとめiphone5 発表イベント 速報まとめ
iphone5 発表イベント 速報まとめ
 

More from Motoki Narita

Type safety WCSession
Type safety WCSessionType safety WCSession
Type safety WCSessionMotoki Narita
 
NullabilityとジェネリクスでswiftからObjective-Cのコードを使いやすくする
NullabilityとジェネリクスでswiftからObjective-Cのコードを使いやすくするNullabilityとジェネリクスでswiftからObjective-Cのコードを使いやすくする
NullabilityとジェネリクスでswiftからObjective-Cのコードを使いやすくするMotoki Narita
 
できることから始めるOss活動
できることから始めるOss活動できることから始めるOss活動
できることから始めるOss活動Motoki Narita
 
Swift3.0に向けて enumerateを使い始めよう
Swift3.0に向けて enumerateを使い始めようSwift3.0に向けて enumerateを使い始めよう
Swift3.0に向けて enumerateを使い始めようMotoki Narita
 
Swift bondさわってみた
Swift bondさわってみたSwift bondさわってみた
Swift bondさわってみたMotoki Narita
 
個人で開発したアプリがベスト新着に選ばれた話
個人で開発したアプリがベスト新着に選ばれた話個人で開発したアプリがベスト新着に選ばれた話
個人で開発したアプリがベスト新着に選ばれた話Motoki Narita
 
Optionalの使い方 第1回 Swift勉強会@ネクスト
Optionalの使い方 第1回 Swift勉強会@ネクストOptionalの使い方 第1回 Swift勉強会@ネクスト
Optionalの使い方 第1回 Swift勉強会@ネクストMotoki Narita
 

More from Motoki Narita (12)

Type safety WCSession
Type safety WCSessionType safety WCSession
Type safety WCSession
 
NullabilityとジェネリクスでswiftからObjective-Cのコードを使いやすくする
NullabilityとジェネリクスでswiftからObjective-Cのコードを使いやすくするNullabilityとジェネリクスでswiftからObjective-Cのコードを使いやすくする
NullabilityとジェネリクスでswiftからObjective-Cのコードを使いやすくする
 
できることから始めるOss活動
できることから始めるOss活動できることから始めるOss活動
できることから始めるOss活動
 
Enumerate
EnumerateEnumerate
Enumerate
 
Swift3.0に向けて enumerateを使い始めよう
Swift3.0に向けて enumerateを使い始めようSwift3.0に向けて enumerateを使い始めよう
Swift3.0に向けて enumerateを使い始めよう
 
About Swift-Clean
About Swift-CleanAbout Swift-Clean
About Swift-Clean
 
Swift bondさわってみた
Swift bondさわってみたSwift bondさわってみた
Swift bondさわってみた
 
watchOS2 tips
watchOS2 tipswatchOS2 tips
watchOS2 tips
 
個人で開発したアプリがベスト新着に選ばれた話
個人で開発したアプリがベスト新着に選ばれた話個人で開発したアプリがベスト新着に選ばれた話
個人で開発したアプリがベスト新着に選ばれた話
 
Xcode tips
Xcode tipsXcode tips
Xcode tips
 
Complication
ComplicationComplication
Complication
 
Optionalの使い方 第1回 Swift勉強会@ネクスト
Optionalの使い方 第1回 Swift勉強会@ネクストOptionalの使い方 第1回 Swift勉強会@ネクスト
Optionalの使い方 第1回 Swift勉強会@ネクスト
 

Recently uploaded

モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 

Recently uploaded (9)

モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 

Watch connectivity