SlideShare une entreprise Scribd logo
1  sur  16
Télécharger pour lire hors ligne
AppSwitcher
でアプリをユーザーファーストに

Ryosuke Hiramatsu
自己紹介
・@himara2
・東京ミッドタウンでエンジニア
・会社や個人でiOSアプリを作ってます

・今日はAppSwitcherについて話します
Manifesto
AppSwitcher?
・iOS 7から登場
・ホームボタンダブルタップで出るアレ
・アイコン+スクリーンショット
・「UIが良ければユーザーは戻る」
変わったのは見た目だけ、

ではない
スワイプして消すと...
・「バックグラウンド実行」がSTOP!
・Background Fetch
・Silent Push Notification
・Location Services
スワイプして消すと...
・「バックグラウンド実行」がSTOP!
・Background Fetch
・Silent Push Notification
・Location Services

色々な問題が発生する
○その1
バックグラウンドで
生き続ける必要があるアプリ
○その1 - バックグラウンドで生き続ける必要があるアプリ

アプリが終了された
タイミングでAlertを出す。
○その1 - バックグラウンドで生き続ける必要があるアプリ

<アプリが終了したタイミングでLocal通知>
- (void)applicationWillTerminate:(UIApplication *)application
{
UILocalNotification *notification = [[UILocalNotification alloc] init];
if (notification)
{
notification.timeZone = [NSTimeZone defaultTimeZone];
notification.repeatInterval = 0;
notification.alertBody = @"アプリを終了するとログがとれなくなります。再起動しますか?";
notification.alertAction = @"再起動する";

}

}

[[UIApplication sharedApplication] scheduleLocalNotification:notification];

※willTerminateが呼ばれるには
バックグラウンド実行中である必要があります。
○その2
途中で切られたら
タスクが完了できないアプリ。
○その2 - 途中で切られたタスクが完了できないアプリ
○その2 - 途中で切られたタスクが完了できないアプリ
- (UIView *)coverView {
if (_coverView == nil) {
UIStoryboard *board = self.window.rootViewController.storyboard;
UIViewController *vc = [board
instantiateViewControllerWithIdentifier:@"CoverViewController"];
_coverView = vc.view;
}
return _coverView;
}
- (void)setCoverPage {
[self.window addSubview:self.coverView];
}
- (void)removeCoverPage {
[self.coverView removeFromSuperview];
}

- (void)applicationWillResignActive:(UIApplication *)application
{
[self setCoverPage];
}
- (void)applicationDidBecomeActive:(UIApplication *)application
{
[self removeCoverPage];
}
○番外編
AppSwitcher画面を
装飾する時に気をつけること
装飾する際の注意
・カードのサイズは以下
Device
| Card size
| Device screen size
---------------|-----------------------------------3.5" iPhone(r) | 304 x 456
|
640 x 960
4.0" iPhone(r) | 304 x 540
|
640 x 1136
iPad
| 384 x 512
|
1024 x 768
iPad (retina) | 768 x 1024 |
2048 x 1536

・テキストはかなり大きめにする
・BackgroundFetchで随時変更も可
- ScreenShotの方向は
EnterBackground 時のもので固定
参考
バックグラウンドで動くアプリが終了された
タイミングでアラートを出す - koogawa blog

アプリの画面を開いているアプリケーションの
プレビュー画面から隠す - qiita.com

A closer look at the iOS7 App Switcher
- VINH PHUC DINH

サンプルコード - GitHub
終わり

Contenu connexe

Similaire à AppSwitcherでアプリをユーザーファーストに

20120422 日本androidの会 横浜支部 smartwatch開発
20120422 日本androidの会 横浜支部 smartwatch開発20120422 日本androidの会 横浜支部 smartwatch開発
20120422 日本androidの会 横浜支部 smartwatch開発
ta9mar
 
iPhoneアプリ開発を楽に楽しくするサイトまとめ
iPhoneアプリ開発を楽に楽しくするサイトまとめiPhoneアプリ開発を楽に楽しくするサイトまとめ
iPhoneアプリ開発を楽に楽しくするサイトまとめ
Hiramatsu Ryosuke
 
これからiPhoneアプリを作ってみたいけど、プログラミング知識のない方へ!ワンコインセミナーでその一歩を踏み出してみよう!
これからiPhoneアプリを作ってみたいけど、プログラミング知識のない方へ!ワンコインセミナーでその一歩を踏み出してみよう!これからiPhoneアプリを作ってみたいけど、プログラミング知識のない方へ!ワンコインセミナーでその一歩を踏み出してみよう!
これからiPhoneアプリを作ってみたいけど、プログラミング知識のない方へ!ワンコインセミナーでその一歩を踏み出してみよう!
Yoshinori Kobayashi
 

Similaire à AppSwitcherでアプリをユーザーファーストに (20)

20120422 日本androidの会 横浜支部 smartwatch開発
20120422 日本androidの会 横浜支部 smartwatch開発20120422 日本androidの会 横浜支部 smartwatch開発
20120422 日本androidの会 横浜支部 smartwatch開発
 
iPhoneアプリ無料勉強会 vol3
iPhoneアプリ無料勉強会 vol3iPhoneアプリ無料勉強会 vol3
iPhoneアプリ無料勉強会 vol3
 
アプリのバックグラウンド処理 | iOS 7エンジニア勉強会
アプリのバックグラウンド処理 | iOS 7エンジニア勉強会アプリのバックグラウンド処理 | iOS 7エンジニア勉強会
アプリのバックグラウンド処理 | iOS 7エンジニア勉強会
 
Potatotips3 hoshi gaki_akira_iwaya
Potatotips3 hoshi gaki_akira_iwayaPotatotips3 hoshi gaki_akira_iwaya
Potatotips3 hoshi gaki_akira_iwaya
 
iPhone アプリ開発の実例
iPhone アプリ開発の実例iPhone アプリ開発の実例
iPhone アプリ開発の実例
 
iPhoneアプリ開発を楽に楽しくするサイトまとめ
iPhoneアプリ開発を楽に楽しくするサイトまとめiPhoneアプリ開発を楽に楽しくするサイトまとめ
iPhoneアプリ開発を楽に楽しくするサイトまとめ
 
Pokelabo android web
Pokelabo android webPokelabo android web
Pokelabo android web
 
今さら聞けないアプリビジネスのいろは 企画申請収益化分析運用編 by excite
今さら聞けないアプリビジネスのいろは 企画申請収益化分析運用編 by excite今さら聞けないアプリビジネスのいろは 企画申請収益化分析運用編 by excite
今さら聞けないアプリビジネスのいろは 企画申請収益化分析運用編 by excite
 
2013 07-03 iOS勉強会_ios7マルチタスキング_ext
2013 07-03 iOS勉強会_ios7マルチタスキング_ext2013 07-03 iOS勉強会_ios7マルチタスキング_ext
2013 07-03 iOS勉強会_ios7マルチタスキング_ext
 
リジェクト物語
リジェクト物語リジェクト物語
リジェクト物語
 
リジェクト物語
リジェクト物語リジェクト物語
リジェクト物語
 
App inventorで想いを形に
App inventorで想いを形にApp inventorで想いを形に
App inventorで想いを形に
 
めざせ!書籍出版! 「これからはじめるiPhoneアプリ開発入門」 執筆陣に聞いてみよう! at 貸会議室6F
めざせ!書籍出版! 「これからはじめるiPhoneアプリ開発入門」 執筆陣に聞いてみよう! at 貸会議室6Fめざせ!書籍出版! 「これからはじめるiPhoneアプリ開発入門」 執筆陣に聞いてみよう! at 貸会議室6F
めざせ!書籍出版! 「これからはじめるiPhoneアプリ開発入門」 執筆陣に聞いてみよう! at 貸会議室6F
 
これからiPhoneアプリを作ってみたいけど、プログラミング知識のない方へ!ワンコインセミナーでその一歩を踏み出してみよう!
これからiPhoneアプリを作ってみたいけど、プログラミング知識のない方へ!ワンコインセミナーでその一歩を踏み出してみよう!これからiPhoneアプリを作ってみたいけど、プログラミング知識のない方へ!ワンコインセミナーでその一歩を踏み出してみよう!
これからiPhoneアプリを作ってみたいけど、プログラミング知識のない方へ!ワンコインセミナーでその一歩を踏み出してみよう!
 
SnapshotとRunscript
SnapshotとRunscriptSnapshotとRunscript
SnapshotとRunscript
 
Wankuma0402
Wankuma0402Wankuma0402
Wankuma0402
 
Electronで 動画ながら見アプリを作った
Electronで 動画ながら見アプリを作ったElectronで 動画ながら見アプリを作った
Electronで 動画ながら見アプリを作った
 
3D touch for iOS
3D touch for iOS3D touch for iOS
3D touch for iOS
 
WWDC2018 まとめ
WWDC2018 まとめWWDC2018 まとめ
WWDC2018 まとめ
 
無料体験セミナー
無料体験セミナー無料体験セミナー
無料体験セミナー
 

Plus de Hiramatsu Ryosuke

Plus de Hiramatsu Ryosuke (11)

iOS 8/Swift 概要 #ios8yahoo
iOS 8/Swift 概要 #ios8yahooiOS 8/Swift 概要 #ios8yahoo
iOS 8/Swift 概要 #ios8yahoo
 
これからはじめる SwiftPlayground入門
これからはじめる SwiftPlayground入門これからはじめる SwiftPlayground入門
これからはじめる SwiftPlayground入門
 
6秒動画アプリ Vineの作り方
6秒動画アプリ Vineの作り方6秒動画アプリ Vineの作り方
6秒動画アプリ Vineの作り方
 
iOSアプリ開発にほんのり役に立つtips集
iOSアプリ開発にほんのり役に立つtips集iOSアプリ開発にほんのり役に立つtips集
iOSアプリ開発にほんのり役に立つtips集
 
5分でつまむEffective Objective-C
5分でつまむEffective Objective-C5分でつまむEffective Objective-C
5分でつまむEffective Objective-C
 
Xcodeを便利に使って爆速開発する #yxcm
Xcodeを便利に使って爆速開発する #yxcm Xcodeを便利に使って爆速開発する #yxcm
Xcodeを便利に使って爆速開発する #yxcm
 
iOSアプリの特急申請 - Apple Expedited Review Request
iOSアプリの特急申請 - Apple Expedited Review RequestiOSアプリの特急申請 - Apple Expedited Review Request
iOSアプリの特急申請 - Apple Expedited Review Request
 
emoSound by たこ部 | OpenHackDay2
emoSound by たこ部 | OpenHackDay2emoSound by たこ部 | OpenHackDay2
emoSound by たこ部 | OpenHackDay2
 
Bitbucket Pull Request 練習帳
Bitbucket Pull Request 練習帳Bitbucket Pull Request 練習帳
Bitbucket Pull Request 練習帳
 
Unix
UnixUnix
Unix
 
C-langage
C-langageC-langage
C-langage
 

Dernier

Dernier (12)

Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 

AppSwitcherでアプリをユーザーファーストに