[iOS] iPadのマルチタスク機能 Slide Over と Split View に対応したい

2018/07/24

こんにちは。きんくまです。
先日ジッピー電卓をアップデートしました。(名前の順番が変わっているのは検索対策ですw)
>> 電卓ジッピー

それでアップデートの機能としてユーザー様からご要望があったiPadのマルチタスクのSlide OverとSplit Viewに対応しました。
画面分割して2つのアプリが使えるというのは知っていたのですが、恥ずかしながら実際にやったことがありませんでした。

Slide Over と Split Viewって何よ?

というわけでどんなやつかを調べてみました。

まずこれはiPad用のアプリを2つ並べて使えるマルチタスク機能です。
iOS9からの機能だったみたいです。結構前からあったんですね!

Slide Overはこんな感じに、アプリの上にもうひとつアプリを重ねて表示します。

Split Viewはこんな感じに、画面を2つに分割して使います。

Split Viewの面白いところとしては、分割している部分の幅を切り替えられるところです。上のイメージだと右側のアプリが狭くて左側のアプリが広い状態です。これをちょうど半分ずつに分割したり、右側を広くしたりできます。

どうやってこの状態にもっていくのかという操作方法については、公式ページでくわしく紹介されています。
>> iPad でマルチタスク機能を使う

で実機でいろいろと試していたんですが、Split Viewの方は手持ちのiPad Air(2じゃない無印)ではできませんでした、、。
Slide Overの方はできました。iPad Proでは両方ともできました!
たぶん負荷がかかるから新しい端末のスペックじゃないと動作が重くなると思われ。

アプリを対応させたい

対応方法はこちらに書いてあります。

>> Slide Over and Split View Quick Start

1. Base SDK を Latest iOS にする
2. 起動画面のLaunchScreen.storyboard を作る(pngイメージじゃなくて)
3. Info.plistのSupported interface orientations (iPad)を4方向とも対応する。(全部の向きに対応ということ)
4. Info.plistのUIRequiresFullScreenをfalseにする

もともと1-3は対応済みでして、今回対応したのは 4 だけでした。
さきほども書いたようにマルチタスク中は、画面の幅が広くなったり(Regular)狭くなったり(Compact)するので、幅が小さくなったときにレイアウトがくずれないようにしておく必要もあると思います。もしiPad専用でレイアウトを設計していると、狭い時にボタンが入りきらなくなって操作できなくなる可能性もあるので、その辺も調整する必要があるかもしれません。

で実際に4のUIRequiresFullScreenをfalseにするとエラーが出ました。これです。
>> iOS 9 : Warning “All interface orientations must be supported unless the app requires full screen” for universal app

ジッピー電卓はユニバーサルアプリでiPhoneとiPadの両方で使えます。ただし向きの対応が異なっています。iPhoneは縦向きだけ、iPadは全方向対応です。UIRequiresFullScreenをfalseにしたときは全方向に対応する必要があるので、全方向に対応していないiPhone側でエラーが起きているみたいです。

解決策としては上のstack over flowにあるように、iPad用のプロパティを別で設定してあげれば大丈夫でした。
~ipadがついている方がiPad用です。

<key>UIRequiresFullScreen</key>
<true/>
<key>UIRequiresFullScreen~ipad</key>
<false/>

今回はiPadのマルチタスク機能についてでした!

LINEで送る
Pocket

自作iPhoneアプリ 好評発売中!
フォルメモ - シンプルなフォルダつきメモ帳
ジッピー電卓 - 消費税や割引もサクサク計算!

LINEスタンプ作りました!
毎日使える。とぼけたウサギ。LINEスタンプ販売中! 毎日使える。とぼけたウサギ

ページトップへ戻る