Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
EN
Uploaded by
Shuichi Tsutsumi
PDF, PPTX
24,285 views
殺しても死なないアプリ 〜Core Bluetooth の「状態の保存と復元」機能〜
Core Bluetooth のバックグラウンド実行モードについて ・バックグラウンドでできること ・バックグラウンドにおける制約 ・状態の保存と復元
Technology
◦
Read more
21
Save
Share
Embed
Embed presentation
Download
Download as PDF, PPTX
1
/ 50
2
/ 50
3
/ 50
4
/ 50
5
/ 50
6
/ 50
7
/ 50
8
/ 50
9
/ 50
10
/ 50
11
/ 50
12
/ 50
13
/ 50
14
/ 50
15
/ 50
16
/ 50
17
/ 50
18
/ 50
19
/ 50
20
/ 50
21
/ 50
22
/ 50
23
/ 50
24
/ 50
25
/ 50
26
/ 50
27
/ 50
28
/ 50
29
/ 50
30
/ 50
31
/ 50
32
/ 50
33
/ 50
34
/ 50
35
/ 50
36
/ 50
37
/ 50
38
/ 50
Most read
39
/ 50
40
/ 50
41
/ 50
42
/ 50
Most read
43
/ 50
44
/ 50
45
/ 50
46
/ 50
47
/ 50
48
/ 50
49
/ 50
50
/ 50
More Related Content
PDF
全部見せます!最前線エンジニアが語るBleアプリケーションのハマりどころ(i os)
by
Takaaki Tanaka
PPTX
[CB16] スマートフォン制御のIoTデバイスにおけるBLE認証設計の課題:Gogoroスマートスクターの分析を通じて by Chen-yu Dai [...
by
CODE BLUE
PDF
FridaによるAndroidアプリの動的解析とフッキングの基礎
by
ken_kitahara
PPTX
Mongo dbを知ろう
by
CROOZ, inc.
PDF
.NET 6 時代のデスクトップ アプリケーション開発
by
Fujio Kojima
PDF
Android BLEのつらみを予防するTips
by
Taisuke Oe
PPTX
Node-REDからREST APIに接続
by
Hitachi, Ltd. OSS Solution Center.
PDF
AWSのインフラはプログラミングコードで構築!AWS Cloud Development Kit 入門
by
Amazon Web Services Japan
全部見せます!最前線エンジニアが語るBleアプリケーションのハマりどころ(i os)
by
Takaaki Tanaka
[CB16] スマートフォン制御のIoTデバイスにおけるBLE認証設計の課題:Gogoroスマートスクターの分析を通じて by Chen-yu Dai [...
by
CODE BLUE
FridaによるAndroidアプリの動的解析とフッキングの基礎
by
ken_kitahara
Mongo dbを知ろう
by
CROOZ, inc.
.NET 6 時代のデスクトップ アプリケーション開発
by
Fujio Kojima
Android BLEのつらみを予防するTips
by
Taisuke Oe
Node-REDからREST APIに接続
by
Hitachi, Ltd. OSS Solution Center.
AWSのインフラはプログラミングコードで構築!AWS Cloud Development Kit 入門
by
Amazon Web Services Japan
What's hot
PPTX
iBeacon を利用したサービス開発のポイント
by
daisuke-a-matsui
PDF
なぜOpenID Connectが必要となったのか、その歴史的背景
by
Tatsuo Kudo
PDF
【15-B-7】無意味なアラートからの脱却 ~ Datadogを使ってモダンなモニタリングを始めよう ~
by
Developers Summit
PDF
今だから知りたい BigQuery 再入門 | Google Cloud INSIDE Games & Apps: Online
by
Google Cloud Platform - Japan
PDF
Android カスタムROMの作り方
by
Masahiro Hidaka
PDF
Open Match Deep Dive
by
Samir Hammoudi
PDF
これからのネイティブアプリにおけるOpenID Connectの活用
by
Masaru Kurahayashi
PDF
GitHub Codespaces と Azure でつくる、エンタープライズレベルの開発環境
by
Kazumi OHIRA
PDF
[Cloud OnAir] BigQuery の仕組みからベストプラクティスまでのご紹介 2018年9月6日 放送
by
Google Cloud Platform - Japan
PDF
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
by
Takahiro Inoue
PDF
Elasticsearch の検索精度のチューニング 〜テストを作って高速かつ安全に〜
by
Takahiko Ito
PDF
Developers Summit 2023 9-D-1「もう悩まされない開発環境、プロジェクトで統一した環境をいつでもどこでも」
by
Kazumi OHIRA
PPTX
JAZUG12周年 俺の Azure Cosmos DB
by
Daiyu Hatakeyama
PPTX
ハードコア デバッギング : サポート直伝!運用中 Windows アプリケーション バグバスター!!
by
TAKUYA OHTA
PPTX
詳説!Azure AD 条件付きアクセス - 動作の仕組みを理解する編
by
Yusuke Kodama
PDF
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
by
IBM Analytics Japan
PDF
グラフデータベース Neptune 使ってみた
by
Yoshiyasu SAEKI
PDF
Kongの概要と導入事例
by
briscola-tokyo
PDF
フィッシングとドメイン名・DNS
by
Shiojiri Ohhara
PDF
DDDを実践できるエンジニアを育成するための取り組みについて
by
BIGLOBE Inc.
iBeacon を利用したサービス開発のポイント
by
daisuke-a-matsui
なぜOpenID Connectが必要となったのか、その歴史的背景
by
Tatsuo Kudo
【15-B-7】無意味なアラートからの脱却 ~ Datadogを使ってモダンなモニタリングを始めよう ~
by
Developers Summit
今だから知りたい BigQuery 再入門 | Google Cloud INSIDE Games & Apps: Online
by
Google Cloud Platform - Japan
Android カスタムROMの作り方
by
Masahiro Hidaka
Open Match Deep Dive
by
Samir Hammoudi
これからのネイティブアプリにおけるOpenID Connectの活用
by
Masaru Kurahayashi
GitHub Codespaces と Azure でつくる、エンタープライズレベルの開発環境
by
Kazumi OHIRA
[Cloud OnAir] BigQuery の仕組みからベストプラクティスまでのご紹介 2018年9月6日 放送
by
Google Cloud Platform - Japan
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
by
Takahiro Inoue
Elasticsearch の検索精度のチューニング 〜テストを作って高速かつ安全に〜
by
Takahiko Ito
Developers Summit 2023 9-D-1「もう悩まされない開発環境、プロジェクトで統一した環境をいつでもどこでも」
by
Kazumi OHIRA
JAZUG12周年 俺の Azure Cosmos DB
by
Daiyu Hatakeyama
ハードコア デバッギング : サポート直伝!運用中 Windows アプリケーション バグバスター!!
by
TAKUYA OHTA
詳説!Azure AD 条件付きアクセス - 動作の仕組みを理解する編
by
Yusuke Kodama
Db2 Warehouse on Cloud Flex テクニカルハンドブック 2020年3月版
by
IBM Analytics Japan
グラフデータベース Neptune 使ってみた
by
Yoshiyasu SAEKI
Kongの概要と導入事例
by
briscola-tokyo
フィッシングとドメイン名・DNS
by
Shiojiri Ohhara
DDDを実践できるエンジニアを育成するための取り組みについて
by
BIGLOBE Inc.
More from Shuichi Tsutsumi
PDF
Core MLのアップデートを3倍楽しむ方法 #wwdctokyo
by
Shuichi Tsutsumi
PDF
エンジニアという仕事を楽しみ続けるためのキャリア戦略
by
Shuichi Tsutsumi
PDF
Depth in Depth #iOSDC
by
Shuichi Tsutsumi
PDF
UIImageView vs Metal [日本語版] #tryswiftconf
by
Shuichi Tsutsumi
PDF
UIImageView vs Metal #tryswiftconf
by
Shuichi Tsutsumi
PDF
飛び道具ではないMetal #iOSDC
by
Shuichi Tsutsumi
PDF
Deep Learning on iOS #360iDev
by
Shuichi Tsutsumi
PDF
Client-Side Deep Learning
by
Shuichi Tsutsumi
PDF
Building iOS apps using "Bluetooth Low Energy"
by
Shuichi Tsutsumi
PDF
Practical Core Bluetooth in IoT & Wearable projects @ AltConf 2016
by
Shuichi Tsutsumi
PDF
Practical Core Bluetooth in IoT & Wearable projects @ UIKonf 2016
by
Shuichi Tsutsumi
PDF
オープンソースエコシステム #demodaytokyo
by
Shuichi Tsutsumi
PDF
Core Image Tips & Tricks in iOS 9
by
Shuichi Tsutsumi
PDF
Core Graphics on watchOS 2
by
Shuichi Tsutsumi
PDF
Audio Unit Extensions 〜オーディオエフェクトのアプリ間共有〜
by
Shuichi Tsutsumi
PDF
iOS 9 の新機能 Core Image 編
by
Shuichi Tsutsumi
PDF
UI/UX に影響の大きい watchOS 2 の新機能 3つ
by
Shuichi Tsutsumi
PDF
watchOS 2 新機能の細かい話
by
Shuichi Tsutsumi
PDF
Apple Watch 間通信
by
Shuichi Tsutsumi
PDF
OpenCV 3.0 on iOS
by
Shuichi Tsutsumi
Core MLのアップデートを3倍楽しむ方法 #wwdctokyo
by
Shuichi Tsutsumi
エンジニアという仕事を楽しみ続けるためのキャリア戦略
by
Shuichi Tsutsumi
Depth in Depth #iOSDC
by
Shuichi Tsutsumi
UIImageView vs Metal [日本語版] #tryswiftconf
by
Shuichi Tsutsumi
UIImageView vs Metal #tryswiftconf
by
Shuichi Tsutsumi
飛び道具ではないMetal #iOSDC
by
Shuichi Tsutsumi
Deep Learning on iOS #360iDev
by
Shuichi Tsutsumi
Client-Side Deep Learning
by
Shuichi Tsutsumi
Building iOS apps using "Bluetooth Low Energy"
by
Shuichi Tsutsumi
Practical Core Bluetooth in IoT & Wearable projects @ AltConf 2016
by
Shuichi Tsutsumi
Practical Core Bluetooth in IoT & Wearable projects @ UIKonf 2016
by
Shuichi Tsutsumi
オープンソースエコシステム #demodaytokyo
by
Shuichi Tsutsumi
Core Image Tips & Tricks in iOS 9
by
Shuichi Tsutsumi
Core Graphics on watchOS 2
by
Shuichi Tsutsumi
Audio Unit Extensions 〜オーディオエフェクトのアプリ間共有〜
by
Shuichi Tsutsumi
iOS 9 の新機能 Core Image 編
by
Shuichi Tsutsumi
UI/UX に影響の大きい watchOS 2 の新機能 3つ
by
Shuichi Tsutsumi
watchOS 2 新機能の細かい話
by
Shuichi Tsutsumi
Apple Watch 間通信
by
Shuichi Tsutsumi
OpenCV 3.0 on iOS
by
Shuichi Tsutsumi
殺しても死なないアプリ 〜Core Bluetooth の「状態の保存と復元」機能〜
1.
殺しても死なないアプリ ∼Core Bluetooth の「状態の保存と復元」機能∼ 堤
修一 @shu223 2015.5.13 potatotips #17
2.
• 堤 修一(つつみ
しゅういち) • iOS専業フリーランス • ブログ『Over&Out その後』 • 著書 『iOS×BLE Core Bluetoothプログラミング』 『iOSアプリ開発 達人のレシピ100』 自己紹介
3.
制作実績(BLE関連)
4.
制作実績(BLE関連)
5.
制作実績(BLE関連)
6.
制作実績(BLE関連) Music for the
Deaf
7.
制作実績(BLE関連) Music for the
Deaf
8.
制作実績(BLE関連) Music for the
Deaf
9.
制作実績(BLE関連) Music for the
Deaf
10.
今日話すこと
11.
今日話すこと Core Bluetooth のバックグラウンド実行モードについて
12.
今日話すこと Core Bluetooth のバックグラウンド実行モードについて -
対応方法
13.
今日話すこと Core Bluetooth のバックグラウンド実行モードについて -
対応方法 - できること、できないこと
14.
今日話すこと Core Bluetooth のバックグラウンド実行モードについて -
対応方法 - できること、できないこと - 「状態の保存と復元」機能
15.
Core Bluetooth の バックグラウンド実行モード 対応方法
17.
チェックマーク入れるだけ
18.
チェックマーク入れるだけ これだけでバックグラウンドでBLEによる通信が可能に
19.
バックグラウンドで何 ができるのか?
20.
基本的には何でもできる
21.
基本的には何でもできる • セントラル - スキャン -
接続 - Read、Write - Notificationの受信
22.
基本的には何でもできる • セントラル - スキャン -
接続 - Read、Write - Notificationの受信 • ペリフェラル - アドバタイズ - Read / Writeリクエストへの応答 - Notificationの送信
23.
ただし
24.
制約はある
25.
制約はある • セントラル - スキャン間隔が長くなる -
スキャン開始時のサービス指定が必須
26.
制約はある • セントラル - スキャン間隔が長くなる -
スキャン開始時のサービス指定が必須 • ペリフェラル - アドバタイズ間隔が長くなる - ローカル名がアドバタイズされなくなる - サービスUUIDがオーバーフロー領域に入る
27.
バックグラウンドでの アプリの停止
28.
バックグラウンドでアプリが 停止(終了)すると
29.
バックグラウンドでアプリが 停止(終了)すると → バックグラウンドタスクも停止する
30.
バックグラウンドでアプリが 停止(終了)すると → バックグラウンドタスクも停止する バックグラウンドでアプリが停止するケース • (メモリ消費量等の理由で)システムによって停止 •
ユーザーによって明示的に停止
31.
困る例:スマートロック
32.
困る例:スマートロック • ユーザーが家を出れば自動的にドアをロックし、帰っ てくればロックを解除する
33.
困る例:スマートロック • ユーザーが家を出れば自動的にドアをロックし、帰っ てくればロックを解除する - BLEの接続が切れることにより施錠され、次に家に帰ってきた ときに自動的に再接続して解錠できるよう、バックグラウンド で接続要求を動作させておく
34.
困る例:スマートロック • ユーザーが家を出れば自動的にドアをロックし、帰っ てくればロックを解除する - BLEの接続が切れることにより施錠され、次に家に帰ってきた ときに自動的に再接続して解錠できるよう、バックグラウンド で接続要求を動作させておく •
外出が数日間にわたり、その間にアプリが停止 → 自動的にロック解除されず、家に入れない!
35.
状態の保存と復元 (State Preservation and
Restoration)
36.
• アプリケーションが停止していても、代わりにBLE 関係のタスクを実行するよう、システムに要求する ための機能
37.
• アプリケーションが停止していても、代わりにBLE 関係のタスクを実行するよう、システムに要求する ための機能 • システムはアプリケーションを停止してメモリを解 放する際、状態の復元で必要になるオブジェクトの 情報を保存する
38.
• アプリケーションが停止していても、代わりにBLE 関係のタスクを実行するよう、システムに要求する ための機能 • システムはアプリケーションを停止してメモリを解 放する際、状態の復元で必要になるオブジェクトの 情報を保存する →
アプリを殺しても生き続ける!
39.
デモ
41.
殺しても通知が届く
42.
実装方法
43.
実装方法 • バックグラウンド実行モードを有効にする
44.
実装方法 • バックグラウンド実行モードを有効にする • セントラルマネージャ
及び ペリフェラルマネージャ 初期化時にオプションを与える
45.
基本的にはこれだけです。
46.
が、
47.
「アプリの状態すべて」 が復元されるわけではない
48.
「アプリの状態すべて」 が復元されるわけではない • あくまでシステムがやってくれるのは、BLEの処理 を引き継いで、イベント発生のタイミングでアプリ をバックグラウンドで起こして当該デリゲートメソッ ドを呼ぶところまで
49.
「アプリの状態すべて」 が復元されるわけではない • あくまでシステムがやってくれるのは、BLEの処理 を引き継いで、イベント発生のタイミングでアプリ をバックグラウンドで起こして当該デリゲートメソッ ドを呼ぶところまで • その他の諸々は自分で復元してやる必要がある
50.
続きは書籍で! • konashi開発者 松村礼央さんとの共著 •
BLEについては知識ゼロからでOK! • BLEの仕様についても詳細な解説があ るので、既に案件でバリバリやって る方もオススメ • konashi等のデバイスがなくても、 iPhone同士でも試せます
Download