質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Q&A

解決済

1回答

976閲覧

UnityのiOSビルドで画面端を2回スワイプしないと通知バーが出ないようにしたい。

soo

総合スコア80

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

0グッド

0クリップ

投稿2017/12/24 14:57

Unityで横画面のフルスクリーンのゲームを作っているのですが、画面端からスワイプすると通知バーが出てしまいゲームの操作が阻害されてしまいます。

幾つかのゲームでは、画面端を2回スワイプしないと通知センター(画面上端から下にスワイプ時)が出ないようになっています。
(2回スワイプした時に矢印がでます。)

これの実装方法が知りたいです。

参考にしたゲーム

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

Unity Issue Trackerによると、

In a full-screen app (iOS), the Notification Center should require two drags, one would show a triangle which you can then drag to show the center. In iOS11 case, the Notification Center shows from a single drag.
The Same behavior is noticed with Control Center.

Steps:

  1. Open attached project ("NotificationCrntre.zip")
  2. Build and Run on iOS11 device
  3. Try to open Notification Center (swipe down from the top) or Control Center (swipe up from the bottom)

Expected: in order to open Notification Center/Control Center, 2 swipes are needed.
Actual: only one swipe is enough.

Reproduced with: 2018.1.0a2, 2017.3.0b7, 2017.2.0p1, 2017.1.2p2.

Tested with: iPhone 6S iOS11.0, Xcode 9.0.
WON'T FIX: This is an intended behavior on iOS11.

フルスクリーンアプリ(iOS)において、通知センターは2回ドラッグで表示(1回目で三角を表示、それをドラッグで通知センター表示)されるべきです。iOS 11の場合、通知センターが1回のドラッグで表示されてしまいます。コントロールセンターも同じ挙動をします。

手順:
1. 添付のプロジェクトを開く("NotificationCrntre.zip")
2. ビルドしiOS 11端末で実行する
3. 通知センター(上端から下へスワイプ)またはコントロールセンター(下端から上へスワイプ)を開こうとする

期待する動作: 通知/コントロールセンター表示に2回スワイプが必要。
実際の動作: 1回で表示される。

再現するバージョン: 2018.1.0a2、2017.3.0b7、2017.2.0p1、2017.1.2p2。
テストした環境: iPhone 6S iOS11.0、Xcode 9.0。

修正されません: これはiOS 11における意図された挙動です。

とのことで、この挙動を回避することはできなさそうに思えます。画面端からのスワイプが起こらないようなゲームデザインに変更してやるしかないかもしれません...
あいにくiOS 11の動くデバイスを持っておらず、私自身では確認できなかったのですが、「Brain Dots」の場合は2回スワイプ方式にできているということでしょうか?

[追記]
Issue Trackerにあんなことが書いてありましたが、取り急ぎUnityアプリをiPhoneX対応する - Qiitaによると「Project Settings」→「Player」の「Other Settings」に「Defer system gestures on edges」という項目があるようです。
リファレンス によれば、

Defer system gestures until the second swipe on specific edges.

On iPhone X the home button is implemented as a system gesture (swipe up from the lower edge of the screen). Other gestures are implemented as swipes from other screen edges. Note that this may interfere with games that use swipes as an interaction method. This setting specifies which screen edge gestures the system defers to the second swipe. The first swipe is ignored and provides a way to reduce unwanted interactions with the App. Note that iOS Human interface guidelines do not recommend enabling this behavior as it might confuse users.

指定されたエッジにおいて、2回目のスワイプまでシステムジェスチャーを遅延させます。

iPhone Xにおいてホームボタンはシステムジェスチャーとして実装されています(画面下端から上にスワイプ)。その他のジェスチャーは他のエッジからのスワイプとして実装されます。操作方法としてスワイプを用いるゲームはこれと干渉しうることにご注意ください。この設定は、システムジェスチャーを2回目のスワイプまで遅延させるエッジを指定します。1回目のスワイプは無視され、アプリにおける不要なインタラクションを抑止します。iOSヒューマンインターフェースガイドラインにおいては、ユーザを混乱させるおそれがあるため、この動作は推奨されていないことにご注意ください。

とのことで、まさしくこれが目的の設定項目であるように思います。実機はないためシミュレータを用いましたが、これをオンにすると、確かに1回目のスワイプで山形マークの付いたタブが現れ、2回目のスワイプで通知センターが現れるようになりました。ご質問者さんの環境ではいかがでしょうか?

投稿2017/12/24 21:18

編集2017/12/25 18:22
Bongo

総合スコア10807

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

soo

2017/12/25 14:27

ありがとうございます。 iOS11のiPhone 6S, iPhoneXで確認しましたが、Brain Dotsは2回スワイプ方式となっています。 ちなみに、使用しているUnityのバージョンは2017.2.0f3です。 Brain Dotsは一年前に更新されているアプリなので、古いUnityのバージョンを使っている(2回スワイプ方式になっている)ということですかね?
Bongo

2017/12/25 22:45 編集

Issue Trackerだと修正しないようなことが書いてありましたが、どうやら設定項目があるらしい(私のUnityは2017.3.0f3ですが、設定項目がありました)ことを示唆する記事もありましたので追記いたします。 古いバージョンのUnityでビルドするとどうなるかは未検証ですが、確かに「従来は2回スワイプ方式になっていたが、Appleのガイドラインに合わせて標準は1回スワイプとし、必要に応じて2回スワイプに設定させるようにした」というのはありそうな話ですね。
soo

2017/12/27 09:09

ありがとうございます。 「Project Settings」→「Player」の「Other Settings」に「Defer system gestures on edges」を設定することでiPhone 6S, iPhoneX共に2回スワイプにすることが出来ました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問