Upload
kentaro-matsumae
View
796
Download
0
Embed Size (px)
Citation preview
マルチタスク関連の大きな変更点•変わったもの •バックグランドタスクまわり • App Switcher • Location Services • Newsstand • 変わらない •バックグランドオーディオ • VoIP
App Switcher
•コレ •フォアグラウンドに戻ってくるときはState Restorationすること
•スワイプでアプリをkillできる • =バックグランドタスクもkill • スナップショット画像はバックグラウンドで更新できる
Location Service & Newsstand
•大きな変更ではない •設定画面でバックグラウンド実行させたくないアプリを指定できるようになった
• Location Service, Newsstandも同様にこの影響を受ける
• AppSwitcherでkillしても同様
Remote Notification
•いろんなアプリで使えるのでおすすめ •メッセージング •メール • Silent remote notification • エピソードコンテンツ(TV, podcast) • 「あとで読む」アプリ •アプリ内課金のシンク •ファイル共有
Remote Notification
•自動DLのTVアプリの例 •ユーザは新エピソードがDL可能になったら自動DLするように設定する
•新エピソードがDL可能になったらsilent push通知を送る
•アプリが起きたら新規エピソードがあることを確認して、Background Transfer serviceを使ってDL開始
• DL完了したら、次回起動時にUIでお知らせ • DL完了したら、Localプッシュ通知するのもおすすめ
Background Transfer Service
• iOS6のバックグラウンド通信 •アプリがフォアグラウンドにいる時間か、少しのバックグラウンド実行可能時間内でしか通信できない
•自動ダウンロード機能を実装できるけど効率が悪い
Background Transfer Service• iOS7 • ダウンロード処理はiOSが管理 •アプリが終了しても継続通信 • DLにかかる時間は不定 •フォアグラウンド・バックグラウンド、、どの状態でも通信処理はエンキュー可能
•通信中に認証、エラー、通信完了したら、ハンドラが起動
バックグラウンド処理の注意点など
•複数アプリが並列で処理している •出来る限り早くタスクを終わらせる •バックグラウンド処理は数秒から数分しか継続しない
• App Switcherは画面がそのまま表示されるので、見せたくないものは隠してスナップショットを設定する
バックグラウンド処理の注意点など
•ユーザはApp Switcherでいつでもアプリをkillできるのでバックグラウンド処理もいつ死んでも良いように
•キャリアデータ通信量に気を使おう(全データではなくサムネだけDLするとか)
•電力消費にも気を使おう(通信はなるべく並列で走らせる、位置情報やモーションキャプチャは電池食うので無駄に使わない