開発部 iOS 担当の金森です。

iOS11 から、ストレージ容量を確保するための新機能として

使っていないアプリを自動的に取り除く

という設定が追加されました。
これについて、どのように動作するのかがいまいちわからなかったので実際に試してみました。

対象読者

iPhone / iPad を利用している方
iOS の開発に携わっている方

この記事でわかること

    • 取り除く設定のオン/オフの方法(デフォルトはオフ)
    • 取り除いた状態での挙動

    設定の切り替え方法


    この設定はデフォルトでオフ状態です。
    以下の画面からオン/オフを切り替えられます。

    設定 - [iTunes StoreとApp Store]

    使用していないAppは自動的に取り除かれますが、すべての書類とデータは保持されます。
    AppがApp Storeにまだある場合は再インストールするとデータは元に戻ります。

    App Store から削除されたアプリに関しては戻すことができないようです。
    もしそういうアプリがある場合はこの設定はオフのままがいいでしょう。

    [補足] 設定を有効にするための別の手段

    iPhoneストレージに容量を確保するためのおすすめ方法が提示されます。

    設定 - [一般] - [iPhoneストレージ]

    「非使用のAppを取り除く」という項目が追加されており、
    この「使用」を選択することでも、取り除く設定を有効にできます。

    自動で取り除いてもらう

    実際に取り除いてもらいます。
    ストレージ容量のおすすめにある説明文では「空き容量が少ないときに」とあったので、ひたすらストレージを圧迫してみることにしました。

    ストレージ容量を圧迫する

    動画撮影状態で放置すること数時間。
    ストレージ容量を残り 300MB くらいまで減らし、さらにスクショ撮ったりしていたところ、以下のようにアプリが取り除かれているのが確認できました。

    (画像中央の Authenticator と iTunes U)
     
    取り除かれたアプリには 雲マーク が付くようです。
    公式アプリも例外ではなく取り除く対象のようです。
    なお、雲マークのついたアプリアイコンをタップすると再インストールが始まります。

    取り除かれる基準

    取り除かれるアプリはどういう基準で決まるのかについてですが、

    わかりませんでした!

    優先基準はこの辺りかなーなんて予想していたんですが、
    • 一度も起動していない
    • 前回の起動時刻が古い
    • サイズが大きい
    取り除かれたアプリの他に該当しそうなものはたくさんあるにも関わらず、
    ちょっと前に起動したサイズの小さなアプリが取り除かれたりしていました。
    なんなら一度も起動したことないアプリもあるのにそれは残っていました。

    手動で取り除く方法

    この取り除く機能は手動で実行することもできます。

    iPhoneストレージの画面で任意のアプリを選択すると、以下のような画面に遷移します。
    ここで「Appを取り除く」を選択すれば自動で取り除かれた場合と同じ状態になります。


    取り除いた後は「Appを再インストール」に表示が変わり、これを選択すればダウンロードが始まります。(アプリアイコンをタップした場合と同じ)


    削除される情報と残る情報

    実際にどういう情報が消えて、何が残るのかについてわかる範囲で記載しています。

    項目 削除/残る 説明
    ビルドバイナリ 削除
    リソースファイル 一部残る
    Info.plist やアイコン画像などは残っている模様(画面に表示できているので)。
    アプリ内で利用する画像などは削除されています(ゲームは残るデータ量が非常に少ない)。
    UserDefaults 残る そのまま残っているようでした。
    KeyChain 残る そのまま残っているようでした(そもそも管理が別なので残ってて当然ですが)。
    ストレージ保存ファイル
    (バックアップ対象)
    残る そのまま残っているようでした。
    ストレージ保存ファイル
    (キャッシュ)
    残る そのまま残っているようでした。
    プライバシーの許可
    (カメラなどの権限)
    残る 設定の一覧からは項目が消えますが、再インストール後は取り除く前と同じ設定に戻りました。
    プッシュ通知の許可 残る 取り除いている状態でも設定項目が残り、権限があれば通知が届きます

    ストレージ容量の変化例

    とあるアプリを対象に取り除いたときサイズが以下のように変化しました。

    アプリが存在する状態

    • Appのサイズ: 52.8MB
    • 書類とデータ: 762KB(キロバイト)

    アプリが取り除かれている状態

    • Appのサイズ: 0MB
    • 書類とデータ: 5.1MB

    「書類とデータ」としてアプリの一部情報をコピー後、それ以外をまるっと消しているということでしょうか・・・?
    内部的な動きは定かではないですが、かなり節約になるのは間違いないですね。
    なお、書類とデータに残る情報量はアプリにより異なり、他のアプリでは 数100KB 程度しか増えないというものもありました。

    まとめ

    アプリが取り除かれている状態でもプッシュ通知が届くということを加味すると、
    ユーザにとってもアプリにとっても良好な関係が築けそうな感じがします。
    ゲームなどでもキャンペーンの時に戻ってきてもらえるチャンスが残るので、
    削除されるよりかは取り除く機能をオススメした方が有益そうですね。
    (ずっと使い続けてもらえるのが一番ですけど)

    ただし、アプリのダウンロードにかかる時間が長いほど復活のチャンスが減ると考えられるため、
    データの持ち方には今まで以上に気を配っておいた方がよさそうです。

    コメントの投稿