SlideShare a Scribd company logo
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
終わり

More Related Content

Similar to 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
 

Similar to 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 まとめ
 
無料体験セミナー
無料体験セミナー無料体験セミナー
無料体験セミナー
 

More from Hiramatsu Ryosuke

More from 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
 

Recently uploaded

2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
ssuserbefd24
 

Recently uploaded (10)

MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
 
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
 
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
論文紹介: Exploiting semantic segmentation to boost reinforcement learning in vid...
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
 
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
2024年5月25日Serverless Meetup大阪 アプリケーションをどこで動かすべきなのか.pptx
 
20240523_IoTLT_vol111_kitazaki_v1___.pdf
20240523_IoTLT_vol111_kitazaki_v1___.pdf20240523_IoTLT_vol111_kitazaki_v1___.pdf
20240523_IoTLT_vol111_kitazaki_v1___.pdf
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
 

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