Iphone ジャイロセンサー 有効

iOSアップデートはいつだって後悔

衝動的にiPhoneのアプリ更新をまとめて片づける休日の午後。
更新内容のほとんどに、iOS13への対応が含まれている模様である。

「どうせなら時間のあるときに」と、“後悔するのを覚悟”でiOSも13へアップデートする。

後悔の念は思ったより早く来た。
トカチニッチの記事用に制作途中だったthree.jsをsafariで走らせるも全く動かないのだ。

慌てて“納品済み”のプログラムを確認するが、そちらは大丈夫な様子。
安定性を考慮した「OrbitControls」のみのthree.jsは動くのに、スマホのジャイロ機能を用いる「DeviceOrientationControls」が含まれると動かない。
※この記事のプログラムも動かなくなった。

iOS12.2で必要になった「モーションと画面の向きのアクセス」がsafariの設定から消えているのが原因なのだろうと調べるとすぐに解決方法が見つかった。
いつも助けてくれる先人たちに感謝の気持ちを伝えたい…。

勉強させてもらったサイト
  • iOS13でWebARとWebVRにおけるデバイスモーション設定が改善しました!
  • 【iOS13】新しくなったWebVRの使い方 [PlayCanvas]
  • ios13 -> DeviceMotionEvent DeviceOrientationEvent requestPermission になるのか

今回作ったもの

  • デモページ
  • ソースコード:index.htm
  • ソースコード:panoramaViewer.js

iOS13+のsafariではアプリが求める「“動作と方向”へのアクセス」を許可する方式になるようだ。

ただ「UserAgentを調べて」とか「バージョンで判断して」の類は、やりたくないし、得体の知れない判定を最初に持ってくるのは気乗りしない。

シンプルに、「ジャイロが動いたらそれで良し」→「ジャイロが動かなかったらiOS13+用の判定を使う」方法にしたい。

実際の判定部分

//ジャイロセンサー確認
var isGyro=false;
if((window.DeviceOrientationEvent)&&('ontouchstart' in window)){
	isGyro=true;
}

//PCなど非ジャイロ
if(!isGyro){
	setCanvas();

//一応ジャイロ持ちデバイス
}else{
	//ジャイロ動作確認
	var resGyro=false;
	window.addEventListener("deviceorientation",doGyro,false);
	function doGyro(){
		resGyro=true;
		window.removeEventListener("deviceorientation",doGyro,false);
	}

	//数秒後に判定
	setTimeout(function(){
		//ジャイロが動いた
		if(resGyro){
			setCanvas();

		//ジャイロ持ってるくせに動かなかった
		}else{
			//iOS13+方式ならクリックイベントを要求
			if(typeof DeviceOrientationEvent.requestPermission==="function"){
				//ユーザアクションを得るための要素を表示
				cv._start.show();
				cv._start.on("click",function(){
					cv._start.hide();
					DeviceOrientationEvent.requestPermission().then(res => {
						//「動作と方向」が許可された
						if(res==="granted"){
							setCanvas();
						//「動作と方向」が許可されなかった
						}else{
							isGyro=false;
							setCanvas();
						}
					});
				});

			//iOS13+じゃない
			}else{
				//早くアップデートしてもらうのを祈りながら諦める
				isGyro=false;
				setCanvas();
			}
		}
	},300);
}

「setCanvas()」でthree.jsの描画が始まるが、isGyrotrueなら「DeviceOrientationControls」を、falseなら諦めて「OrbitControls」を使う。
まずdeviceorientationのイベントリスナが動くか否かをsetTimeoutで数秒後に判断(例では300ミリ秒)。

deviceorientationで値が取得できなかった場合のみ、iOS13+方式と認定して「“動作と方向”へのアクセス」の許可ダイアログを出す流れ。
許可ダイアログを出すにはユーザアクションが必要なので、タッチイベントを得るための要素(例では「.canvas_start」)を非表示で用意しておく。

とにかく何だか気持ち悪い判定は極力動かしたくない…ただそれだけ。
本来の、もっと良い方法があると思うのでそちらを使ってください。

ほぼ、iOS12.2のときに感じた「こうなればいいのに」という理想に近いが、許可要求のダイアログを表示するにはタッチなどユーザアクションが必要なのが惜しい。
「カメラ起動」の許可要求はユーザアクションなしでもそのまま出せるのに…Appleの考えるセキュリティの奥深さに理解が追い付かない。

使用したパノラマ画像は大樹町の紅葉スポット「坂下仙境」。そろそろ色どり溢れる絶景で来訪者を楽しませてくれるだろう。
※熊には充分気を付けましょう!

PRAmazonで「Three.js」を探す!


iPhoneを使っていると画面を横にした時に自動で90度回転してしまい、意図した向きで停まってくれないときがありますよね。

例えば、ソファやベッドで寝転んだまま、iPhoneで動画やマンガを見ている時、ちょっと身体の向きを変えると無駄に画面が回転してイラっとしてしまいます。

なんで今のタイミングでグルグルするんだよ!

ぶつけるところのない怒り。

今回は「iPhoneの画面回転をオフ・解除する方法」をまとめました。

 コントロールセンターから縦画面でロック

  • 画面のタテ・ヨコはジャイロセンサーが自動で判別している
  • コントロールセンターに回転しないようにロックするボタンがある
  • iPhoneを横向きに回転ロックは出来ない

iPhoneのジャイロセンサー

iPhoneはただのスマートフォンではなく、高精度の「センサー」がたくさんついています。

この「ジャイロセンサー」もそのひとつで、角速度センサーともいいます。この角速度センサーは、ジャイロ=軸を測定し、どれだけ水平になっているか、などiPhoneの向きや角度を判別しているものです。

iPhone画面がくるくる回るのも、このジャイロセンサーがタテヨコを判別しているからなのですね。

コントロールセンターでタテロック可能

このジャイロセンサー、とても煩わしい場合はタテ画面のままロックが可能です。ロック方法はコントロールセンターを呼び出して「矢印&南京錠マーク」をON

Iphone ジャイロセンサー 有効
にするだけです。

これで寝転がってもヨコに回転したりしないで、タテにロックされます。

標準で横向きロックボタンはない

基本的にiPhoneを横向きに回転ロックはできません。横向き画面のときに回転ロックボタンをONにしても、タテ画面になってロックされます。

実は面倒な手順を踏めば横向きにロックすることが可能です。

横向きにiPhone画面をロックする方法

Iphone ジャイロセンサー 有効

AssistiveTouch

  1. 横向きで使いたいアプリを決める
  2. コントロールセンターで画面回転ロックをOFF
    Iphone ジャイロセンサー 有効
  3. 設定>一般>アクセシビリティ>アクセスガイドをON
    Iphone ジャイロセンサー 有効
  4. アクセスガイドのパスコードを設定
  5. AssistiveTouchで「アクセシビリティショートカット」を設定
  6. 横向きで使いたいアプリをひらく
  7. AssistiveTouchで「アクセスガイド」を表示
  8. オプション→動作をOFF
    Iphone ジャイロセンサー 有効
    →再開を押す
  9. 横向きでロックがかかります

まとめ

  • 画面のタテ・ヨコはジャイロセンサーが自動で判別している
  • コントロールセンターに回転しないロックボタンがある
  • 横向きにiPhone画面をロックするならAssistiveTouchで

要注目:機種変更・iPhone端末買うなら今:2022年に得なのは?

2022年にかけての状況ですが、21年3月から各キャリアが方針を転換して、ネット通信20GBという大容量かつ3000円前後の料金プランを出してきています。

が、その時はまだ、通信量は少なくしてもっと安く提供しているといった格安SIMサービスとは直接ライバルにはなっていませんでした。

ところが秋・冬と経て各大手キャリアは「あまり使わないからその分安くしたい」ユーザー向けの低容量格安プランになるものもカバーする動きに入っており、格安SIM各社はいろいろとしのぎを削っています。

特に2台持ちして使い分ける人の増加が顕著ですね!メインに昔から使っている電話番号を使い、ゲームや動画の閲覧はネット放題のプランの大画面スマホ、SNSはカウントフリーの格安SIMで3台か2台目をデュアルSIMで使う人も一般に増えてきました。

一昔前はマニアックな使い方でしたが、節約の情報がバズったりして普通のひとでも手軽に使い分けの知識を得られるというのが大きいですね。

安くなったぶん最新iPhone13が欲しい

そうして携帯にかかるお金を安くしていくことで、iPhone13シリーズや来年発売が予測される新作・新型iPhone14シリーズの購入費用に充てることも検討できます。安くなる情報はたくさんあふれているので、あとはうまく活用すること!が大事になってきます。

iPhone端末買うならどんな方法がいいのか?たとえば手数料が安く済み、しかも新しいものの好きな色が選べるからキャリアのオンラインショップにしたらいいのか?大手からMNPでキャッシュバックを受けて端末を購入して数カ月後に戻りたいとか。いろいろありますね。

おすすめ

Iphone ジャイロセンサー 有効
2022年10月がiPhone機種変更タイミングとしておすすめ買い時・お得

iPhoneの買い時は、機種変更のタイミングをどこに持ってくるかです。何月かというと…

機種変更タイミングを見る

iPhone13シリーズおすすめ(2022年9月)

  1. iPhone13mini:新型・軽い!手のひらにフィット!小型・高性能・iPhoneでは廉価
  2. iPhone13Pro新型iPhoneでカメラ性能がお化け!クリエイターやYoutubeなどSNS重要視するなら
  3. iPhoneSE2(第2世代)ホームボタンがあるタイプ/iPhoneSE3(第3世代)の発売でさらに投げ売りがある可能性!

ドコモのiPhoneページ

ソフトバンクのiPhoneページ

auのiPhoneページ

iPhone分割購入・アレが0円になる方法

分割購入

Iphone ジャイロセンサー 有効
iPhone14購入を分割にして手数料0円で安くできる方法

いよいよ新しいiPhoneやAppleWatchが発表・発売されると期待が膨らんでいますね。クールな ...

続きを見る

※当サイトの掲載記事は規定の方法で調べてまとめた内容です。公式を元にした情報の他、未発表部分は過去データからの類推・iPhoneの仕様など古くなっている情報が含まれるケースもあります。必ず免責事項にご了承頂いた上でご覧ください。

iPhone ジャイロセンサー どこ?

iPhoneに備わっているジャイロセンサーは基板上にあるため、物理的故障が原因で画面が回転しなくなった場合は、その他の箇所も壊れてしまっている可能性があります。

Safari VRの見方は?

WEB サイト上で VR を動かすには、設定を有効にすることが必要です。 iOS の設定→Safari→[プライバシーとセキュリティ] [モーションと画⾯の向きのアクセス]を ON にします。