忍者ブログ

スイーツ(笑)と呼ばないで!!

NEW ENTRY
04 2024/05 1 2 3 45 6 7 8 9 10 1112 13 14 15 16 17 1819 20 21 22 23 24 2526 27 28 29 30 31 06

05/05/17:18  [PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

11/18/16:51  iOS端末を簡単に業務アプリ専用端末にする方法

Swift使ってiOSアプリを趣味で作成したりするが、
業務で使用するほどには詳しくない。

逆に、Webアプリは業務でよく作成する。

そんな中以下のような要件のお仕事の依頼が来た場合、こんな選択肢もありますよ、という話。

【要件】

1. iOS端末を使って業務アプリを構築したい。
2. タッチパネルの機能を有効に使いたい。
3. フルスクリーンで利用したい。
4. その業務アプリしか使用できないようにしたい。
5. メンテナンスが大変なのでSwiftとか使ったネイティヴアプリは嫌

さぁ、皆さんどうでしょうか、最後の要件5を読んで「ん?」となったのではないでしょうか?

こういうアプリ作成の時には、よく

「じゃー、ガワアプリだけ作って、中身は普通のHTMLとかJSとか使ったWebアプリにしましょー」

という話がでる。

でも、「ネイティブアプリは嫌」と言われるとそのソリューションは使えませんね。

そんな時の方法をこれからご紹介します。

まず、WebアプリをSPA(シングルページアプリケーション)で作成します。

そして、作成したWebアプリのヘッダーに


<meta name="apple-mobile-web-app-capable" content="yes">


<meta name="apple-mobile-web-app-status-bar-style" content="black">



こんな感じのmetaタグを設定します。

1行目がフルスクリーンにするための設定で、2行目はステータスバーの表示についての設定です。

これを設定したURLをSafariで開き、ブラウザの下にあるアイコンメニューの四角に上矢印的なアイコンをクリックしてホーム画面に追加を選択します。そうするとそのページへのショートカットがホーム画面に保存されます。

その際

<link rel="apple-touch-icon" href=icon.png>



こんなタグを仕込んでおくとアイコンが設定できるので、他のネイティヴアプリを見た目上全く違いが無くなりますね。

さあ、これで、ホーム画面上のアイコンを起動するとフルスクリーンのアプリが起動して如何にも業務アプリっぽくなりましたね。これで既にお客さんの要件のうち要件4を除いて全てクリアした状態となります。

要件4はどうしましょうか?

実は、上記の手順を踏んだことで、iOS内部における取り扱いにおいては、SafariでそのWebアプリを開いた時とは別の取り扱いになります。サーバサイドで取得されるUser AgentもSafariとは異なったりしますね。

少し回りくどい言い方をしましたが、これでいわゆるシングルアプリモードが使えるようになったということです。

設定>一般>アクセシビリティ>アクセスガイド

を開き、アクセスガイドの機能をオンにします。

パスコード設定のメニューより、シングルアプリモードを解除するためのパスコードやTouch IDの使用不使用が設定できます。

さあ準備は整いました。

ホーム画面から自作アプリのアイコンをクリックします。
フルスクリーンで立ち上がりましたね。
そこでホームボタンを3回押します。
これによりアクセスガイドが開始できます。
ちなわち、もう他のアプリに切り替えることは不可能になります。
(ちなみに、解除する際も同じくホームボタン3回押しでパスコード入れます)

さぁ、要件4も満たすことができましたね。

いかがだったでしょうか。

Swiftなど使ったiOSネイティヴアプリ構築のノウハウはない。でも、今ある技術でそれっぽく業務アプリを作りたい、特に端末固有の機能を使ったりする必要はないんだ、というあなた、早速今日からなんちゃってiOSアプリを作成してみましょー。

拍手[0回]

PR
URL
FONT COLOR
COMMENT
Vodafone絵文字 i-mode絵文字 Ezweb絵文字
PASS

TRACKBACK

TRACKBACK-URL