Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

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

10.420 visualizaciones

Publicado el

iOS 7から変更されたAppSwitcherを使って色々やる話です。
バックグラウンド実行をつかっているアプリなどに有効。

potatotips #4, iOS_LT #5 で発表したネタです。

Publicado en: Tecnología

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

  1. 1. AppSwitcher でアプリをユーザーファーストに Ryosuke Hiramatsu
  2. 2. 自己紹介 ・@himara2 ・東京ミッドタウンでエンジニア ・会社や個人でiOSアプリを作ってます ・今日はAppSwitcherについて話します Manifesto
  3. 3. AppSwitcher? ・iOS 7から登場 ・ホームボタンダブルタップで出るアレ ・アイコン+スクリーンショット ・「UIが良ければユーザーは戻る」
  4. 4. 変わったのは見た目だけ、 ではない
  5. 5. スワイプして消すと... ・「バックグラウンド実行」がSTOP! ・Background Fetch ・Silent Push Notification ・Location Services
  6. 6. スワイプして消すと... ・「バックグラウンド実行」がSTOP! ・Background Fetch ・Silent Push Notification ・Location Services 色々な問題が発生する
  7. 7. ○その1 バックグラウンドで 生き続ける必要があるアプリ
  8. 8. ○その1 - バックグラウンドで生き続ける必要があるアプリ アプリが終了された タイミングでAlertを出す。
  9. 9. ○その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が呼ばれるには バックグラウンド実行中である必要があります。
  10. 10. ○その2 途中で切られたら タスクが完了できないアプリ。
  11. 11. ○その2 - 途中で切られたタスクが完了できないアプリ
  12. 12. ○その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]; }
  13. 13. ○番外編 AppSwitcher画面を 装飾する時に気をつけること
  14. 14. 装飾する際の注意 ・カードのサイズは以下 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 時のもので固定
  15. 15. 参考 バックグラウンドで動くアプリが終了された タイミングでアラートを出す - koogawa blog アプリの画面を開いているアプリケーションの プレビュー画面から隠す - qiita.com A closer look at the iOS7 App Switcher - VINH PHUC DINH サンプルコード - GitHub
  16. 16. 終わり

×