<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Webクリップ &#8211; MICSS</title>
	<atom:link href="https://www.micss.biz/category/web%E3%82%AF%E3%83%AA%E3%83%83%E3%83%97/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.micss.biz</link>
	<description>“低コスト”で“スピーディ”なモバイル導入をご支援</description>
	<lastBuildDate>Sun, 26 Apr 2026 08:41:20 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.7.33</generator>
	<item>
		<title>業務用iOSアプリ配信方法選定チャート(従業員用)のPDFを公開します</title>
		<link>https://www.micss.biz/2025/06/02/7435/</link>
		<pubDate>Sun, 01 Jun 2025 22:00:42 +0000</pubDate>
		<dc:creator><![CDATA[OishiYuichi]]></dc:creator>
				<category><![CDATA[AdHoc]]></category>
		<category><![CDATA[ADP]]></category>
		<category><![CDATA[TestFlight]]></category>
		<category><![CDATA[Webクリップ]]></category>
		<category><![CDATA[カスタムApp]]></category>

		<guid isPermaLink="false">https://www.micss.biz/?p=7435</guid>
		<description><![CDATA[業務用iOSのアプリ配信方法がどのように決まるのか(決めるのか)を判定するためのチャートを公開します。 ADEPからADPへの移行(カスタムApp化)を進める企業や、新たに独自アプリを作る企業、またそうした企業を支援する [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>業務用iOSのアプリ配信方法がどのように決まるのか(決めるのか)を判定するためのチャートを公開します。</p>
<p>ADEPからADPへの移行(カスタムApp化)を進める企業や、新たに独自アプリを作る企業、またそうした企業を支援する関係者の方に役立てて頂けるかと思います。</p>
<p><strong>自社従業員に使わせるアプリ</strong>で、かつ<strong>ADP</strong>を前提としている点はご留意下さい。1枚ものの簡単なチャートになります。</p>
<p><img src="https://www.micss.biz/wp-content/uploads/2025/06/20250602_flowchart_all.jpg" alt="" width="600" class="alignnone" /></p>
<p>画像貼り付けだと少し見にくいので<a href="https://www.micss.biz/wp-content/uploads/2025/06/20250602_b2bios_distribution_decision_flow.pdf" rel="noopener" target="_blank">PDF</a>も用意しました。以下にチャートの順に解説しますので、別ウィンドウでPDFを拡大しながら読み進めて頂くと良いと思います。</p>
<p>&nbsp;</p>
<h3>配信方法選定チャートの解説(1) : そもそも論</h3>
<p>チャートは左上からスタートです。まず最初の判断は、</p>
<p><img src="https://www.micss.biz/wp-content/uploads/2025/06/20250602_flowchart_1.jpg" alt="" width="600" class="alignnone" /></p>
<p>ここですね。まさかの「Webにしましょう」です。本サイトでもいくつか関連エントリを書いています。</p>
<ul>
<li><a href="https://www.micss.biz/2022/01/10/4968/" rel="noopener" target="_blank">業務用WebシステムのiOS用クライアントアプリ開発は本当に必要か？を考える (前編)</a></li>
<li><a href="https://www.micss.biz/2022/01/24/5011/" rel="noopener" target="_blank">業務用WebシステムのiOS用クライアントアプリ開発は本当に必要か？を考える (後編)</a></li>
</ul>
<p>弊社はiOSアプリと関わり始めて2025年6月時点で17年近く。その間、B2C/B2B/自社アプリ/受託アプリこれら全ての組み合わせを色々経験していますが「安易な自社アプリ開発はお勧めしない」が一貫したスタンスです。今も昔も業務用iOSアプリの真理だと思っています。</p>
<p><img src="https://www.micss.biz/wp-content/uploads/2025/06/20250602_not_nativeapp.jpg" alt="" width="600" class="alignnone" /><br /><span class="caption">(10年以上前のセミナー資料。自社アプリを作るのは最終手段であると解説し続けてきた)</span></p>
<p>MDM/ABMを併用すれば、自社専用のアプリがなくてもWeb技術だけでiOS端末を十分に活用できます。なので、カスタムApp化を考える場合も新規アプリ開発をする場合も、まず真剣に「本当にWebではダメなのか？」を問うてみることをお勧めします。</p>
<p>2025年現在、<strong>業務用アプリの9割はWebで十分である</strong>という感触を持っています。以下もご覧下さい。</p>
<ul>
<li><a href="https://www.micss.biz/2021/10/04/4461/" rel="noopener" target="_blank">Webクリップとは何か(1) -Webサイトのブックマークを配布する-</a></li>
<li><a href="https://www.micss.biz/2021/10/18/4552/" rel="noopener" target="_blank">Webクリップの作り方と各設定値を徹底解説 [前編] -Webクリップとは何か(2)-</a></li>
<li><a href="https://www.micss.biz/2021/10/25/4678/" rel="noopener" target="_blank">Webクリップの作り方と各設定値を徹底解説 [後編] -Webクリップとは何か(3)-</a></li>
<li><a href="https://www.micss.biz/2021/11/15/4804/" rel="noopener" target="_blank">WebクリップはSafariを削除していても使用できる(ようになった) -Webクリップとは何か(4)-</a></li>
</ul>
<p>&nbsp;</p>
<h3>配信方法選定チャートの解説(2) : PoCや実験</h3>
<p>Webが無理なら、次は<a href="https://developer.apple.com/jp/testflight/" taget="_blank">TestFlight</a>の活用を検討して下さい。</p>
<p><img src="https://www.micss.biz/wp-content/uploads/2025/06/20250602_flowchart_2.jpg" alt="" width="600" class="alignnone" /></p>
<p>TestFlightの最大のメリットは<strong>審査関連の面倒臭さがない</strong>ことです。ユーザが100人以下ならTestFlightの内部テスト、ユーザが100人より多く10000人以下なら外部テストが使えます。外部テストには審査が必要ですが、あってないようなものですし、バージョンを変えない限り無審査というハックもあります。</p>
<p>TestFlightのデメリットは主に以下2つ。</p>
<ul>
<li>有効期間は90日</li>
<li>AppleIDが必要</li>
</ul>
<p>ただ前者は1,2ヶ月ごとに定期的にビルドを作ればほぼ解決です。後者は、ABMを使って全社員にAppleID(Manged AppleID)の供与が容易になっているため、昔に比べてハードルは下がってます。Managed AppleID については以下をご覧下さい。</p>
<ul>
<li><a href="https://www.micss.biz/2024/06/10/7129/">AppleIDの新規登録方法 2024年保存版 &#8211; ABMからの登録 &#8211;</a></li>
</ul>
<p>従業員が多い場合は EntraID や GoogleWorkspace との連携も活用できますので、TestFlightのAppleID要件はデメリットにならないケースもあります。</p>
<p>&nbsp;</p>
<h3>配信方法選定チャートの解説(3) : 本番稼働でも審査回避</h3>
<p>TestFlight が適切でない場合、AdHoc 配布を検討することをお勧めします。</p>
<p><img src="https://www.micss.biz/wp-content/uploads/2025/06/20250602_flowchart_3.jpg" alt="" width="600" class="alignnone" /></p>
<p>繰り返しますが、業務用iOSで一番面倒でかつ運用に制約を与えるのは審査関連です。それを避けるためのWebであり、TestFlight であったわけですが、それらがダメなら次は AdHoc です。</p>
<p>AdHoc についての詳細は以下をご覧ください。</p>
<ul>
<li><a href="https://www.micss.biz/2023/08/07/6203/" rel="noopener" target="_blank">AdHocとは何か</a></li>
<li><a href="https://www.micss.biz/2022/12/12/5731/" rel="noopener" target="_blank">AdHocアプリを社外ユーザに配布できるのか</a></li>
<li><a href="https://www.micss.biz/2022/11/28/5695/" rel="noopener" target="_blank">AdHoc配布はテスト用途以外に使用できるのか</a></li>
</ul>
<p>Apple Developer Program に明示的に端末識別子(UDID)を登録して稼働させる方法で、端末種別ごとに上限100台以下に抑えられるなら、ADEP の InHouse に近しい運用が可能です。</p>
<p>先に書いたTestFightの「AppleIDが必要」という条件は満たせないが、100台以下のPoCや実験アプリである場合でも有用です。</p>
<p>&nbsp;</p>
<h3>配信方法選定チャートの解説(4) : AppStoreからの配信</h3>
<p>チャートもここまでくると、AppStoreからの本配信しか選択肢がありません。</p>
<p><img src="https://www.micss.biz/wp-content/uploads/2025/06/20250602_flowchart_4.jpg" alt="" width="600" class="alignnone" /></p>
<p>AppStoreからの本配信にも種類があり、最初に検討すべき配信方法は「公開アプリ」です。我々が個人利用で App Store で見かけるようなアプリと同じ位置付けとなります。社名や関連名で検索した時にアプリの存在を知られても良い場合に採用できます。</p>
<p>公開アプリをまずお勧めするのは、他の選択肢である非公開アプリ(カスタムApp)と非表示アプリに比べて、実績のある開発会社が多くアプリ開発から配信までスムーズに進む可能性が高いからです。</p>
<p>非表示アプリなら追加の特別な審査が必要だったり、非公開アプリ(カスタムApp)ならABM/MDMの知識や運用体制も必要だったりと少々面倒臭くなります。</p>
<p>&nbsp;</p>
<h3>配信方法選定チャートの解説(5) : カスタムApp or 非表示アプリ</h3>
<p>ここまでくるということは、Web技術では実現できず、まとまった端末数で本稼働させる必要があり、世間に知られたくないアプリです。この場合、どんな端末で動作させるのか？という視点で三択になります。</p>
<p><img src="https://www.micss.biz/wp-content/uploads/2025/06/20250602_flowchart_5.jpg" alt="" width="600" class="alignnone" /></p>
<p>ひとことでカスタムAppといっても配信の仕方には2種類あり、インストールの仕方も変わります。どのような端末に配信するかに応じてどちらかを選ぶことになります。</p>
<ul>
<li>カスタムApp (管理対象ライセンス)</li>
<li>カスタムApp (引き換えコード)</li>
</ul>
<p>大半の場合(国内従業員向けの非公開アプリ)は、前者です。一方で以下に該当する場合は後者です。</p>
<ul>
<li>端末を会社支給せず個人端末を業務に使わせるBYODスタイル</li>
<li>MDMが導入できないケース</li>
</ul>
<p>後者の引き換えコードを選んだ場合、業務用アプリが個人AppleIDに紐づいてインストールされる(つまり退社後も使われる可能性がある)点には注意して下さい。万が一に備えて認証機構を備えたアプリでなければ採用はできないでしょう。</p>
<p>また、日本企業としてABMの利用申請を行った場合、海外従業員のBYOD端末に対しては、カスタムAppの引き換えコードライセンスは使用できません。必然的に非表示アプリを選択することになります。</p>
<p><img src="https://www.micss.biz/wp-content/uploads/2025/06/20250602_distribution_app_to_abroad.jpg" alt="" width="600" class="alignnone" /><br /><span class="caption">(研修資料より。AppStoreは国ごとに分かれており、カスタムAppの配信は国単位で閉じる必要がある)</span></p>
<p>あるいは、端末管理や運用体制まで調整して「国内法人で調達した端末に管理対象ライセンスでインストールして、海外従業員に当該端末を使わせる」という逃げ道を採用することもできます。</p>
<p>海外従業員への非公開業務用アプリの配布は、カスタムAppやライセンスの種類、ABM/MDMの十分な理解がないと難しいので余りお勧めしません。素直にWebアプリにしましょう(笑) というのは冗談で、非表示アプリか公開アプリにしてログイン機構を設けるのがベストです。</p>
<p>&nbsp;</p>
<p>以上、<strong>ADP前提で自社従業員が使うアプリをどう配信するか</strong>の判定チャートを解説してきました。配信方法を決定する社内ルールを作る時の参考として頂ければと思います。もし「このアプリはどの配信方法が良いんだろう？」と気になる場合、<a href="https://www.micss.biz/consultation/">こちら</a>よりお問い合わせ下さい。</p>
<p>なお、本チャートは ADEP InHouse は考慮していません。ADEPは意外にもまだ使えている企業が多く、徐々に移行を強いられている印象ですが、まだ使えるなら使い続けるのが最善です。カスタムApp化を考える時に本ページのチャートを参考にして下さい。</p>
<p>また本チャートでは、<strong>従業員が使用するアプリ</strong>を前提としました。もし「販売代理店に使って貰うアプリ」「ソリューションを販売した顧客企業の従業員が使うアプリ」のように自社従業員利用でない場合は少し異なるので注意して下さい。非従業員のケースはまた別の機会に紹介したいと思います。</p>
]]></content:encoded>
			</item>
		<item>
		<title>Appleの審査を回避してアプリを配信する方法 全4種</title>
		<link>https://www.micss.biz/2023/06/12/6023/</link>
		<pubDate>Sun, 11 Jun 2023 22:00:05 +0000</pubDate>
		<dc:creator><![CDATA[OishiYuichi]]></dc:creator>
				<category><![CDATA[ADEP]]></category>
		<category><![CDATA[AdHoc]]></category>
		<category><![CDATA[ADP]]></category>
		<category><![CDATA[MDM]]></category>
		<category><![CDATA[Webクリップ]]></category>

		<guid isPermaLink="false">https://www.micss.biz/?p=6023</guid>
		<description><![CDATA[(最終更新日 : 2023/8/29) Appleの審査を避けたい事情はアプリによって様々です。 そもそも審査の手続きが面倒だ、プライベートなAPIを使いたい、本来用途と異なるハック的なAPIの使い方をしている、AppS [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>(最終更新日 : 2023/8/29)</p>
<p>Appleの審査を避けたい事情はアプリによって様々です。</p>
<p>そもそも審査の手続きが面倒だ、プライベートなAPIを使いたい、本来用途と異なるハック的なAPIの使い方をしている、<a href="https://developer.apple.com/jp/app-store/review/guidelines/" rel="noopener" target="_blank">AppStore Review Guidline</a> に反した事をやりたい&#8230;などなど。B2Bの世界では、そもそも「ウチで使う業務アプリをなぜ審査されなくてはならない？」という感覚の方もいます。</p>
<p>理由はどうあれ業務用iOSアプリの世界では、Appleの審査を避けるなら InHouse(ADEP) 一択だ&#8230;と誤認されてきました。しかし実は、Appleが InHouse(ADEP) 以外にも審査回避手段を用意していることは意外に知られていません。InHouse(ADEP) が余りにも強力過ぎて(審査不要・無制限配布)、他の手段に目が向けられることがほとんど無かったからでしょう。</p>
<p>そこで本稿では、InHouse(ADEP) を含め、改めてアプリ審査を回避できる配布手段を整理してみたいと思います。当然ながらすべて公式に提供されているもの。まず以下に一覧を示します。</p>
<table class="table">
<thead>
<tr>
<th>名称</th>
<th>必要条件</th>
<th>審査</th>
<th>配布数制限</th>
<th>使用可能用途</th>
</tr>
</thead>
<tbody>
<tr>
<th><a href="#1">InHouse</a></th>
<td>ADEP</td>
<td>無し</td>
<td>無制限</td>
<td>テスト/リリース</td>
</tr>
<tr>
<th><a href="#2">AdHoc</a></th>
<td>ADP/ADEP</td>
<td>無し</td>
<td>100台</td>
<td>テスト/リリース</td>
</tr>
<tr>
<th><a href="#3">TestFlight 内部テスト</a></th>
<td>ADP</td>
<td>(事実上)無し</td>
<td>100人 x 30台</td>
<td>テスト</td>
</tr>
<tr>
<th><a href="#4">Webクリップ</a></th>
<td>MDM</td>
<td>無し</td>
<td>無制限</td>
<td>テスト/リリース</td>
</tr>
</tbody>
</table>
<p>関連する投稿へのリンクも貼っていますので併せて参照して下さい。それでは順に見ていきましょう。</p>
<p id="1">&nbsp;</p>
<h3>InHouse &#8211; ADEP (Apple Developer Enterprise Program)</h3>
<p>審査回避手段として一択と誤認されているぐらいですから、真っ先に思いつくのがこちらでしょう。</p>
<p><a href="https://developer.apple.com/jp/programs/enterprise/" rel="noopener" target="_blank"><img src="https://www.micss.biz/wp-content/uploads/2023/06/20230612_adep.jpg" alt="" width="600" class="alignnone" /></a></p>
<p>詳細については以下をご覧下さい。</p>
<ul>
<li><a href="/2019/11/28/980/">ADEP (Apple Developer Enterprise Program) とは何か</a></li>
</ul>
<p>しかしAppleは、2019,2020年頃から新規受付を<strong>事実上停止</strong>しています。また、2022年からその更新も審査制に変わりました。審査の結果、更新を認められなかった、つまり InHouse が使えなくなった企業も出始めています。詳しくは以下をご覧下さい。</p>
<ul>
<li><a href="/2020/06/19/1774/">ADEP(Apple Developer Enterprise Program)はもう取得することができないと諦めたほうが良い理由</a></li>
<li><a href="/2022/04/18/5188/">そろそろADEP契約更新ができなくなるかも知れない 〜カスタムAppへの移行を急ぐべき理由〜</a>
<li><a href="/2022/09/19/5528/">そろそろADEP契約更新ができなくなるかも知れない…その後(1)</a>, <a href="https://www.micss.biz/2022/10/03/5553/" rel="noopener" target="_blank">(2)</a></li>
<li><a href="/2023/05/15/5972/">実録！ADEPの更新を拒否されるまでの全て (1)</a>, <a href="https://www.micss.biz/2023/05/22/5983/" rel="noopener" target="_blank">(2)</a>, <a href="https://www.micss.biz/2023/05/29/6004/">(3)</a></li>
</ul>
<p>今後はどうなるか分かりませんが、長らく業務用iOSアプリの世界を見てきた弊社の見解は「<strong>新規受付の復活は考えにくいし、更新も徐々に厳しくなっていくと思われる」</strong>です。</p>
<p>ADEPの契約が既にできていて且つ2023年現在まだ更新ができている企業の場合、ADEPを使い続けるのが合理的な選択です。そうでない企業がApple審査を回避したいなら、後述の3つの選択肢から選ぶことになります。</p>
<p id="2">&nbsp;</p>
<h3>AdHoc</h3>
<p><a href="https://developer.apple.com/jp/programs/" rel="noopener" target="_blank">ADP(Apple Developer Program)</a>を契約して、その契約の配下で AdHoc 形式の配布を選択することにより Apple の審査を回避できます。(AdHocはADEPでも使えるが実質使い道がない)</p>
<p><img src="https://www.micss.biz/wp-content/uploads/2023/06/20230612_adhoc.png" alt="" width="600" class="alignnone" /><br /><span class="caption">(<a href="/consultation/">研修</a>資料より)</span></p>
<p>AdHocはiOSアプリの歴史的経緯から、テスト用の配布手段と認識されていましたが実はそうではありません。ADP契約毎にデバイスごと100台までという上限に注意が必要ですが、本運用で使用しても実は問題ないのです。詳しくは以下をご覧下さい。</p>
<ul>
<li><a href="/2023/08/07/6203/">AdHocとは何か</a></li>
<li><a href="/2022/11/28/5695/">AdHoc配布はテスト用途以外に使用できるのか</a></li>
<li><a href="/2022/12/12/5731/">AdHocアプリを社外ユーザに配布できるのか</a></li>
</ul>
<p>AdHoc 形式では1年に一回の Provisioning Profile 更新が必要となります。しかしAdHocもMDMからの配布が(多くの場合)使えることも考えれば、ADEPでのInHouseアプリ運用と大差ありません。InHouseアプリと全く同様に、Appleのアプリ審査を受けることなく端末にアプリをインストールできますので、開発しようとしている業務用アプリの配信端末数が100台以下なら、積極的に検討できる手段です。</p>
<p id="3">&nbsp;</p>
<h3>TestFlight 内部テスト</h3>
<p><a href="https://developer.apple.com/jp/testflight/" rel="noopener" target="_blank">TestFlight</a> とは Apple が公式に提供しているテストツールです。元々はあるスタートアップが開発したものですが、買収に次ぐ買収で最終的に Apple が買い上げて洗練させ、公式テストツールとした経緯があります。</p>
<p><img src="https://www.micss.biz/wp-content/uploads/2023/06/20230612_testflight.jpg" alt="" width="600" class="alignnone" /><br /><span class="caption">(歴史に興味があれば <a href="https://en.wikipedia.org/wiki/TestFlight" rel="noopener" target="_blank">Wikipedia-TestFlight</a> を参照(英語))</span></p>
<p>関係者の間で評価する場合に使う<strong>内部テスト</strong>と、いわゆる公開ベータ版テストのように第三者の評価協力を募る場合に使う<strong>外部テスト</strong>と2種類の仕組みが用意されています。App Store Connect からアプリをTestFlight向けに登録し、本審査前とは別のテスト用審査を受けることでテスト配信が可能となります。</p>
<p><img src="https://www.micss.biz/wp-content/uploads/2023/06/20230612_flow_including_testflight.jpg" alt="" width="600" class="alignnone" /><br /><span class="caption">(<a href="/consultation/">研修</a>資料より。InHouseの経験しかない場合、TestFlightの使い方が一番の難所。<a href="/consultation/">研修</a>ではテスト設計も解説している)</span></p>
<p>テストに参加するユーザはテスターと呼ばれ、テスター専用のTestFlight というアプリを介して AppStore 登録前のテストバージョンを受け取ってインストール・テスト・フィードバック送信が可能です。</p>
<p><img src="https://www.micss.biz/wp-content/uploads/2023/06/20230612_testandfeedback.jpg" alt="" width="600" class="alignnone" /><br /><span class="caption">(<a href="/consultation/">研修</a>資料より)</span></p>
<p>この TestFlight を審査回避の手段として使うことができます。先に「本審査前に別のテスト用審査を受けると」と書きましたが、<strong>内部テスト用審査は事実上無審査</strong>だからです。アプリである ipa ファイルの正当性・妥当性のみチェックされます。</p>
<p><img src="https://www.micss.biz/wp-content/uploads/2023/06/20230612_b2bios.jpg" alt="" width="240" class="alignnone" />&nbsp;→&nbsp;<img src="https://www.micss.biz/wp-content/uploads/2023/06/20230612_sampleapp.jpg" alt="" width="240" class="alignnone" /><br /><span class="caption">(実際にTestFligth内部テストで配信されたアプリと起動後の画面。起動後にlabelしかなくても審査は通る。本審査ではありえない)</span></p>
<p>この特性を利用することで、事実上の無審査アプリ配布が可能となります。もし作ろうとしている業務用iOSアプリが、実験的開発や評価検証用のPoCである場合は、TestFlight の内部テストを使うことも選択肢に入るでしょう。</p>
<p>ただしPoC を抜けた本番運用のフェーズでは、TestFlight を使い続けることができないことに注意すべきです(TestFlightはテスト用途専用)。とりあえずアプリを作ってみたい評価用プロジェクト向きの手法といえます。</p>
<p id="4">&nbsp;</p>
<h3>Webクリップ</h3>
<p>意外に盲点で余り知られていない手法です。通常、開発会社側にMDMと構成プロファイルの理解がなければ思いつかないアイディアだからですね。(そして開発会社の多くは残念ながらそれらを使う機会がほとんどありません)</p>
<ul>
<li><a href="/2021/10/04/4461/">Webクリップとは何か(1) -Webサイトのブックマークを配布する-</a></li>
<li><a href="/2021/10/18/4552/">Webクリップの作り方と各設定値を徹底解説 [前編] -Webクリップとは何か(2)-</a></li>
<li><a href="/2021/10/25/4678/">Webクリップの作り方と各設定値を徹底解説 [後編] -Webクリップとは何か(3)-</a></li>
</ul>
<p>WebのショートカットであるWebClipをMDMから配布すれば、事実上の審査不要・無制限配布可能なネイティブアプリ(擬似)を実現することができます。</p>
<p><img src="https://www.micss.biz/wp-content/uploads/2023/06/20230612_webclip.jpg" alt="" width="600" class="alignnone" /><br /><span class="caption">(<a href="/consultation/">研修</a>資料より)</span></p>
<p>特に iOS 16.4 で <a href="https://webkit.org/blog/13878/web-push-for-web-apps-on-ios-and-ipados/" rel="noopener" target="_blank">Web Push 通知に対応</a>した点は注目に値します。ネイティブアプリを開発する理由として頻繁に上がってくる Push 通知が、JavaScript だけで実現できるようになったのです。もし iOS16.4 以降を前提にできるなら、</p>
<p>「Push 通知を使いたいならネイティブアプリ開発が必要」</p>
<p>という常識(?)は今や非常識となり、時代遅れな認識です。開発しようとする業務用iOSアプリが、</p>
<ul>
<li>審査を回避したい事情があり、</li>
<li>Push通知ぐらいしかネイティブアプリ開発する理由が無く、</li>
<li>端末の原則オンラインが担保できるなら、</li>
</ul>
<p>WebClip + MDM の組み合わせ技は有力な選択肢になります。以下の投稿も合わせてご覧下さい。</p>
<ul>
<li><a href="/2022/01/10/4968/">業務用WebシステムのiOS用クライアントアプリ開発は本当に必要か？を考える (前編)</a>, <a href="https://www.micss.biz/2022/01/24/5011/" rel="noopener" target="_blank">(後編)</a></li>
</ul>
<p>読者がもしネイティブは無理だがモダンな Web システム開発は可能な開発会社だという場合、WebClip は顧客への提案に使える新たなツールとなります。「Web技術だけでインストールから起動からユーザ体験までほぼアプリっぽいことができますよ」と言えるのです。これを機会に MDM + WebClip のあわせ技を学習することをお勧めします。</p>
<p>&nbsp;</p>
<p>以上、Appleの審査を回避する手段を4種類紹介しました。諸事情や諸条件によって採れる選択肢は変わってきますが、すべての選択肢を知っておくことは有用でしょう。本投稿が、読者の関わるアプリ開発プロジェクトの開発方針決定に役立てば幸いです。</p>
]]></content:encoded>
			</item>
		<item>
		<title>業務用アプリの配布方法 全7種類一覧</title>
		<link>https://www.micss.biz/2022/03/07/5113/</link>
		<pubDate>Sun, 06 Mar 2022 22:00:11 +0000</pubDate>
		<dc:creator><![CDATA[OishiYuichi]]></dc:creator>
				<category><![CDATA[ABM]]></category>
		<category><![CDATA[ADEP]]></category>
		<category><![CDATA[MDM]]></category>
		<category><![CDATA[Webクリップ]]></category>
		<category><![CDATA[カスタムApp]]></category>

		<guid isPermaLink="false">https://www.micss.biz/?p=5113</guid>
		<description><![CDATA[(最終更新日 : 2023/8/31) 業務用アプリを配布する方法は、全て列挙すると実に7種類もあります。どの配布方法を選ぶべきかはアプリの特性や各社の状況によりますので、一通り配布方法を知っておくのは良いことです。 ( [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>(最終更新日 : 2023/8/31)</p>
<p>業務用アプリを配布する方法は、全て列挙すると実に<strong>7種類</strong>もあります。どの配布方法を選ぶべきかはアプリの特性や各社の状況によりますので、一通り配布方法を知っておくのは良いことです。</p>
<p><img src="https://www.micss.biz/wp-content/uploads/2022/03/20220307_deployment-flow.jpg" alt="" width="600" class="alignnone" /><br /><span class="caption">(用途やアプリに応じて様々な配布方法がある)</span></p>
<p>そこで本稿では全ての配布方法の概要を網羅的に紹介します。また、各方式について詳細を記している本サイトの別投稿へのリンクも紹介しますので、詳しく知りたい場合は各リンク先を参照して下さい。</p>
<p>本稿は、アプリの配布方法に迷った時の道標として使えるページです。是非、本稿をブックマークして頂き、アプリ配布方法に迷ったら参照するようにして下さい。</p>
<p>&nbsp;</p>
<h3>配布方法全7種</h3>
<p>以下に一覧を列挙します。</p>
<table class="table">
<thead>
<tr>
<th>種類</th>
<th>実装種別</th>
<th>用途</th>
<th>必要なもの</th>
</tr>
</thead>
<tbody>
<tr>
<th style="width:180px;vertical-align:middle;"><strong><a href="#1">AppStore公開アプリ</a></strong></th>
<td style="width:100px">ネイティブ</td>
<td>公開アプリとして申請して配布</td>
<td>MDM,ABM</td>
</tr>
<tr>
<th style="vertical-align:middle;"><strong><a href="#2">カスタムApp<br />(AppStore非公開アプリ)</a></strong></th>
<td>ネイティブ</td>
<td>非公開アプリとして申請して非公開に配布</td>
<td>MDM, ABM, ADP</td>
</tr>
<tr>
<th style="vertical-align:middle;"><strong><a href="#3">非表示App<br />(AppStore非表示アプリ)</a></strong></th>
<td>ネイティブ</td>
<td>公開アプリとして申請しURLを知る人だけに配布</td>
<td>ADP</td>
</tr>
<tr>
<th style="vertical-align:middle;"><strong><a href="#4">InHouseアプリ</a></strong></th>
<td>ネイティブ</td>
<td>開発したアプリをAppleに申請せず非公開配布</td>
<td>MDM, ADEP</td>
</tr>
<tr>
<th style="vertical-align:middle;"><strong><a href="#5">Webクリップ</a></strong></th>
<td>Web</td>
<td>Webをネイティブアプリのように見せかけて配布</td>
<td>MDM</td>
</tr>
<tr>
<th style="vertical-align:middle;"><a href="#6">TestFlight</a></th>
<td>ネイティブ</td>
<td>テスト用途のみ<br />関係者に申請前・本配信前のアプリを配布</td>
<td>ADP, TestFlight</td>
</tr>
<tr>
<th style="vertical-align:middle;"><a href="#7">AdHocアプリ</a></th>
<td>ネイティブ</td>
<td>開発したアプリをAppleに申請せず非公開配布<br />ただし予め端末IDを登録に対してのみ配布可</td>
<td>ADP</td>
</tr>
</tbody>
</table>
<p id="1">&nbsp;</p>
<h3>AppStore公開アプリ</h3>
<p>AppStore上に公開されている既存アプリは全てABM+MDM経由で配信することができます。例えば Box や DocuSign など既存アプリを業務でそのまま使う場合が該当します。</p>
<p><img src="https://www.micss.biz/wp-content/uploads/2022/03/20220307_boxemm.jpg" alt="" width="600" class="alignnone" /><br /><span class="caption">(業務用バージョンを別アプリとしてAppStore公開しているものもある。上図はBoxの例)</span></p>
<p>ABMやMDMという言葉が初見という方は以下を参考にして下さい。</p>
<ul>
<li><a href="https://www.micss.biz/2020/01/27/1164/">MDMとは何か 〜今さら聞けないMDMの基礎〜</a></li>
<li><a href="https://www.micss.biz/2020/08/14/1927/">ABM(Apple Business Manager)とは何か</a></li>
<li><a href="https://www.micss.biz/2020/09/21/2343/">iOSDC 2020 Day1 でエンタープライズiOSについて講演しました（YouTubeで収録動画が公開されました）</a></li>
</ul>
<p>ABMでAppStoreのアプリを一括購入(VPPということもある)してMDMに同期して、MDMから配布します。</p>
<p><img src="https://www.micss.biz/wp-content/uploads/2022/03/20220307_abmvpp.jpg" alt="" width="600" class="alignnone" /><br /><span class="caption">(ABMでAppStoreにあるGMailアプリを一括ライセンス購入する様子)</span></p>
<p>多くのMDMで、アップデート時の振る舞いをアプリごとに制御できます。</p>
<p><img src="https://www.micss.biz/wp-content/uploads/2022/03/20220307_bizmobile_autoappupdate.jpg" alt="" width="400" class="alignnone" /><br /><span class="caption">(アプリ毎に自動更新するかどうかを決めることができる。上図はBizMobile Go!)</span></p>
<p>自動で更新させることもできれば、明示的な更新を強いることもできます。通常は自動更新としておくのが良いでしょう。</p>
<p id="2">&nbsp;</p>
<h3>カスタムApp</h3>
<p>現時点(2022年3月)で、<strong>特定企業用の非公開アプリを無制限に配信できる唯一の方法</strong>です。</p>
<p>AppStoreのインフラをそのまま使いますので、ADP(Apple Developer Program)の契約が必要で、アプリ毎にAppleの審査が必要です。</p>
<p><img src="https://www.micss.biz/wp-content/uploads/2022/03/20220307_adp_private.jpg" alt="" width="600" class="alignnone" /><br /><span class="caption">(AppStoreに申請する際に、実は「非公開」を選択できる)</span></p>
<p>審査が通ればそれで完了&#8230;ではありません。ABMから当該カスタムAppを一括購入し、MDM経由か引き換えコードを使った配布をする必要があります。カスタムAppについては以下に記事をまとめていますので御覧下さい。</p>
<ul>
<li><a href="https://www.micss.biz/category/customapp/" rel="noopener" target="_blank">カスタムAppのカテゴリ全記事</a> (全記事11件の一覧)</li>
</ul>
<p>ABMやMDMと連携させて配布する繋がりや全体の流れは、<a href="https://iosdc.jp/2020/" rel="noopener" target="_blank">iOSDC Japan 2020</a> で講演させて頂いた内容が参考になります。以下からご参照下さい。</p>
<ul>
<li><a href="/2020/09/21/2343/" rel="noopener" target="_blank">iOSDC 2020 Day1 でエンタープライズiOSについて講演しました（YouTubeで収録動画が公開されました）</a></li>
</ul>
<p id="3">&nbsp;</p>
<h3>非表示App</h3>
<p>2022年に新たに登場した配布形式です。</p>
<p>AppStore公開アプリではあるものの、AppStoreアプリでの検索に出てこなくなり、当該アプリのURLを知っている人だけがインストールできるという配布形式です。</p>
<p><img src="https://www.micss.biz/wp-content/uploads/2022/03/20220307_unlistedapp.jpg" alt="" width="600" class="alignnone" /></p>
<p>例えば「特定組織内で限定的に使うわけではないが第三者に見せる必要のないアプリ」で利用できます。</p>
<p>AppStoreへの通常のアプリ審査の他、非表示化を申請して受理される必要があります。申請時に合理的な理由(なぜカスタムAppではないのか)を説明することが求められます。詳しくは以下をご覧下さい。</p>
<ul>
<li><a href="https://www.micss.biz/2022/02/07/5041/" rel="noopener" target="_blank">非表示App(Unlisted App)とは何か</a></li>
</ul>
<p id="4">&nbsp;</p>
<h3>InHouseアプリ</h3>
<p>ADEP(Apple Developer Enterprise Program)の契約を締結できている組織だけが利用できます。現在その契約を持っていない組織ではこの配布方法は事実上<strong>採用不可</strong>です。</p>
<p>AppStoreインフラを使いませんので審査は不要です。配布台数制限もなく、MDMとABMの連携も不要で、最もシンプルで理解しやすい配布方法です。詳しくは以下の投稿をご覧下さい。</p>
<ul>
<li><a href="https://www.micss.biz/2019/11/28/980/" rel="noopener" target="_blank">ADEPとは</a></li>
<li><a href="https://www.micss.biz/2020/06/19/1774/" rel="noopener" target="_blank">ADEPはもう取得することができないと諦めたほうが良い理由</a></li>
</ul>
<p>なお、ADEPを契約済である企業であっても、2022年春以降から<strong>ADEP契約の更新で審査を受ける</strong>点は注意して下さい。ADEP の更新を Apple に拒絶され更新ができなかったとの報告も幾例かあります。更新を拒否された場合、急いでカスタムAppを使った配布体制に切り替える必要があります。以下を御覧ください。</p>
<ul>
<li><a href="/2022/03/21/5164/">ADEP契約を更新せず放置するとInHouseアプリはどうなるのか</a></li>
<li><a href="/2022/04/18/5188/">そろそろADEP契約更新ができなくなるかも知れない 〜カスタムAppへの移行を急ぐべき理由〜</a></li>
<li><a href="/2022/09/19/5528/">そろそろADEP契約更新ができなくなるかも知れない…その後(1)</a></li>
<li><a href="/2022/10/03/5553/">そろそろADEP契約更新ができなくなるかも知れない…その後(2)</a></li>
</ul>
<p>ADEPを継続できている企業は、規約違反で契約取り消しとならないよう注意しましょう。以下で規約違反になるパターンをおさえておくことをお勧めします。</p>
<ul>
<li><a href="https://www.micss.biz/2019/12/06/1092/" rel="noopener" target="_blank">ADEPの契約ができないパターン集</a></li>
</ul>
<p id="5">&nbsp;</p>
<h3>Webクリップ</h3>
<p>WebサイトやWebシステムをアプリのように配布する形式です。MDMを使ってWebのショートカットを配布するようなイメージです。</p>
<p><img src="https://www.micss.biz/wp-content/uploads/2022/03/20220307_nativelike_abm.jpg" alt="" width="600" class="alignnone" /><br /><span class="caption">(アプリのように見えるが実はWebサイトのショートカットという例)</span></p>
<p>ハードウェアの機能を使わない、オンライン前提にできる、通知はメールやチャットで十分、といった条件を満たせる環境なら、わざわざネイティブアプリを開発しなくても擬似的にアプリ配布が可能です。</p>
<p>面倒なAppleへのアプリ申請やABMの操作等が不要になります。MDMさえ用意できればアプリ配布ができますので、ネイティブアプリ開発に課題がある場合、積極的に活用を検討すべき配布方法です。アプリ開発の知見が余りないWebシステム会社にとっては、アプリ開発提案の「亜種」として採用できる可能性があります。詳細は以下にまとめていますのでご覧下さい。</p>
<ul>
<li><a href="https://www.micss.biz/category/webクリップ/" rel="noopener" target="_blank">Webクリップのカテゴリ全記事</a> (全7記事)</li>
</ul>
<p id="6">&nbsp;</p>
<h3>TestFlight</h3>
<p>アプリの申請前や、申請後の本配信前に、関係者限定のテスト用途で使用する配布方法です。</p>
<p>前述したAppStore公開アプリやカスタムAppを使って業務用アプリを配布する場合に、アプリの初回配布前のフェーズや、アプリのアップデート版の本配信前テストに使用します。</p>
<p>ADPの Apple Developer サイトでテストしたいバージョンを指定し、テスターをグループ単位や個人単位で紐付けます。</p>
<p><img src="https://www.micss.biz/wp-content/uploads/2022/03/20220307_testflight_adp.jpg" alt="" width="600" class="alignnone" /><br /><span class="caption">(これまでInHouseでの配布経験しかない企業は TestFlight をよく理解することが求められる)</span></p>
<p>テスターは情シス担当者、社内評価担当者等が対象となります。テスターのiOS端末には <a href="https://apps.apple.com/jp/app/testflight/id899247664" rel="noopener" target="_blank">TestFlight</a> なるApple公式専用アプリを予めインストールしておく必要があります。</p>
<p><img src="https://www.micss.biz/wp-content/uploads/2022/03/20220307_testflight_appstore.jpg" alt="" width="240" class="alignnone" /></p>
<p>TestFlightアプリでインストールされたテスト用アプリには、有効期限が90日、旧バージョンにいつでも戻せる、などの特徴があります。なお、TsetFligth は原則、<strong>本番運用アプリで使ってはいけません</strong>。</p>
<p id="7">&nbsp;</p>
<h3>AdHocアプリ</h3>
<p>上限100台という台数制限があるものの、審査不要のアプリ配信が可能な方法です。動作対象端末のUDID(端末識別子)をあらかじめ収集しておく必要があります。</p>
<p>UDIDを紐付けたAdHoc用の Provisioning Profile を使ってアプリを署名して生成した .ipa ファイルは、UDIDが一致する端末でのみインストール・起動できるようになるという仕組みです。</p>
<p><img src="https://www.micss.biz/wp-content/uploads/2022/03/20220307_uuid_adp.jpg" alt="" width="600" class="alignnone" /><br /><span class="caption">(UDIDを登録した権限ファイルを生成する様子。生成したファイルをビルド時にアプリに紐付ける)</span></p>
<p>インストールには有線・無線の両方が使えます。それぞれ以下を参照して下さい。(前者のタイトルはInHouseアプリだが、AdHocアプリでも使用できる)</p>
<ul>
<li><a href="/2020/05/11/1683/">Apple Configurator2 で InHouse アプリをインストール・アンインストールする方法と「信頼」について</a></li>
<li><a href="/2022/12/26/5748/">OTA(Over The Air)とは何か</a></li>
</ul>
<p>また、AdHocアプリ全般や用途・配布先制限については以下を参照して下さい。</p>
<ul>
<li><a href="/2023/08/07/6203/">AdHocとは何か</a></li>
<li><a href="/2022/11/28/5695/">AdHoc配布はテスト用途以外に使用できるのか</a></li>
<li><a href="/2022/12/12/5731/">AdHocアプリを社外ユーザに配布できるのか</a></li>
</ul>
<p>&nbsp;</p>
<p>以上、業務用アプリの配布方法7種を解説しました。詳細についてはそれぞれ対応する投稿がありますので併せてご覧下さい。</p>
]]></content:encoded>
			</item>
		<item>
		<title>Webクリップのラベルが長過ぎないかを簡単に確認する方法</title>
		<link>https://www.micss.biz/2022/02/21/5084/</link>
		<pubDate>Sun, 20 Feb 2022 22:00:56 +0000</pubDate>
		<dc:creator><![CDATA[OishiYuichi]]></dc:creator>
				<category><![CDATA[Webクリップ]]></category>

		<guid isPermaLink="false">https://www.micss.biz/?p=5084</guid>
		<description><![CDATA[Webクリップを作成する時、Apple Configurator2 の構成プロファイルエディタやMDM上のWebクリップ登録画面で、ラベルを入力する必要があります。ホーム画面上で表示される名称ですね。 実はこのラベルが長 [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Webクリップを作成する時、Apple Configurator2 の構成プロファイルエディタやMDM上のWebクリップ登録画面で、ラベルを入力する必要があります。ホーム画面上で表示される名称ですね。</p>
<p><img src="https://www.micss.biz/wp-content/uploads/2022/02/20220221_ac2-webclip.jpg" alt="" width="600" class="alignnone" /></p>
<p>実はこのラベルが長すぎると、いざWebクリップを配布した時に以下のような残念な表示になります。</p>
<p><img src="https://www.micss.biz/wp-content/uploads/2022/02/20220221_label3dot.jpg" alt="" width="240" class="alignnone" /><br /><span class="caption">(ラベルが長すぎて末尾が&#8230;の表示になってしまう)</span></p>
<p>こうならないようにするには、<strong>全角6文字、半角12文字程度</strong>にするのが良いのですが、<a href="https://developer.apple.com/documentation/devicemanagement/webclip" rel="noopener" target="_blank">Appleの公式ドキュメント</a>には厳密な定義がありません。となると、全角半角が混ざる場合など、ラベルが収まるか収まらないかを確認するため、いちいち構成プロファイルを更新して流し込んで表示する作業を繰り返すことになります。</p>
<p>これは意外に面倒です。そこで本稿では、その面倒さを回避するテクニックを紹介します。この手法を使えば効率よく簡単にWebクリップのラベルを決めることができます。</p>
<p>&nbsp;</p>
<h3>Safariのブックマーク機能を使う</h3>
<p>実は、Safariのブックマークをホーム画面に置く時に使われるラベルの仕様と、Webクリップのラベルの仕様は同じです。このiOS仕様に着目し、Safariのブックマークのラベルでトライ&#038;エラーを繰り返して、Webクリップのラベルとするというわけです。</p>
<p>以下に具体的な手順を紹介します。</p>
<p><strong>(1)</strong> まずSafariで任意のページを開き、ツールバー真ん中のボタンから [ホーム画面に追加] をタップします。ラベルの長さを見極めるのが目的ですので、開くページは何でも大丈夫です。<br />
<img src="https://www.micss.biz/wp-content/uploads/2022/02/20220221_safari.jpg" alt="" width="240" class="alignnone" />&nbsp;→&nbsp;<img src="https://www.micss.biz/wp-content/uploads/2022/02/20220221_addicon-to-home.jpg" alt="" width="240" class="alignnone" /></p>
<p><strong>(2)</strong> ホーム画面に配置されることになるアイコンとURLが示されます。ここでラベルを入力できます。<br />
<img src="https://www.micss.biz/wp-content/uploads/2022/02/20220221_makebookmark.jpg" alt="" width="240" class="alignnone" /><br /><span class="caption">(デフォルトはページ中の title タグや meta タグの文字列)</span></p>
<p><strong>(3)</strong> Webクリップのラベルとして長さが適切かどうか調べたい文字列を入力して、画面右上の [追加] ボタンをタップします。<br />
<img src="https://www.micss.biz/wp-content/uploads/2022/02/20220221_shorten-label.jpg" alt="" width="240" class="alignnone" /></p>
<p><strong>(4)</strong> ホーム画面にアイコンが表示されます。末尾が &#8230; になっていないかどうか確認します。<br />
<img src="https://www.micss.biz/wp-content/uploads/2022/02/20220221_home2icons.jpg" alt="" width="240" class="alignnone" /><br /><span class="caption">(右側が追加したもの。ギリギリ末尾 &#8230; にならない文字列を見い出せた)</span></p>
<p><strong>(5)</strong> もし末尾が &#8230; になっていたり、ラベルに指定した文言が気に入らなければ、<strong>(1)</strong> に戻って同じことを繰り返します。</p>
<p><strong>(6)</strong> 納得できるラベルを見いだせたら、その文字列をそのまま構成プロファイルのWebクリップのラベルに指定します。</p>
<p><img src="https://www.micss.biz/wp-content/uploads/2022/02/20220221_shortenlabel-ac2.jpg" alt="" width="600" class="alignnone" /></p>
<p>以上で所望のラベル表示となる構成プロファイルが完成しました。保存した構成プロファイルを MDM や Apple Configurator2 から配布すればokです。</p>
<p>&nbsp;</p>
<p>いかがでしょうか。本稿で紹介した手法を使えば、Webクリップのラベルを効率的に試行錯誤できます。Webクリップの作成時に是非使ってみて下さい。</p>
]]></content:encoded>
			</item>
		<item>
		<title>業務用WebシステムのiOS用クライアントアプリ開発は本当に必要か？を考える (後編)</title>
		<link>https://www.micss.biz/2022/01/24/5011/</link>
		<pubDate>Mon, 24 Jan 2022 09:22:37 +0000</pubDate>
		<dc:creator><![CDATA[OishiYuichi]]></dc:creator>
				<category><![CDATA[Webクリップ]]></category>

		<guid isPermaLink="false">https://www.micss.biz/?p=5011</guid>
		<description><![CDATA[前回の投稿で、WebクリップとMDMを活用すれば、ネイティブアプリをいちいち開発しなくてもネイティブアプリのような体裁で提供ができることを紹介しました。(まだ前編を読んでいない方は先にご覧下さい) (AppleのWebア [&#8230;]]]></description>
				<content:encoded><![CDATA[<p><a href="/2022/01/10/4968/">前回の投稿</a>で、WebクリップとMDMを活用すれば、ネイティブアプリをいちいち開発しなくてもネイティブアプリのような体裁で提供ができることを紹介しました。(まだ<a href="https://www.micss.biz/2022/01/10/4968/" rel="noopener" target="_blank">前編</a>を読んでいない方は先にご覧下さい)</p>
<p><video src="/wp-content/uploads/b2bi/os/b2bios_abmwebclip.mov" controls="" width="600" poster="/wp-content/uploads/b2bi/os/b2bios_abmwebclip.jpg"><br /><span class="caption">(AppleのWebアプリ。十分にiOS最適化されたWebは、適切な技術を組み合わせればネイティブアプリに見える)</span></p>
<p>もちろん制約はあります。紹介した手法は、Webシステムをネイティブアプリのように<strong>見せかけている</strong>に過ぎないため、ネイティブアプリでしかできないことはどうやってもできません。</p>
<p>ただ、逆に考えると「ネイティブアプリにしかできないこと」が分かって、それらについて「別にできなくても構わない」とか「代替手段でなんとかなる」と割り切れるなら<strong>ネイティブアプリ開発は不要</strong>といえるわけです。</p>
<p>何か業務用iOSアプリの開発を検討中でしょうか？その計画には、ネイティブアプリにしかできないことがある→だからネイティブアプリを開発するのだ、という論理がありますか？ただ何となくアプリ開発を進めようとしていないでしょうか。</p>
<p>もしあまり吟味せず開発を始めようとしているなら、是非本稿をご覧下さい。ネイティブアプリ開発が本当に必要なのか判断するための情報を得ることができます。また本稿は、ネイティブアプリ開発はリソース的に難しい、でもアプリは欲しい&#8230;という悩みを抱える方にとって朗報・打開策になるかも知れません。</p>
<p>&nbsp;</p>
<h3>ネイティブアプリでなければ実現できないこと？</h3>
<p>以下のような要件がある場合、ネイティブアプリを開発しなければならないとされています。</p>
<ul>
<li>(A) ハードウェアを活用する</li>
<li>(B) オフライン利用を想定している</li>
<li>(C) PUSH通知を送りたい</li>
<li>(D) その他のiOS固有の機能を使いたい</li>
</ul>
<p>どれか1つ以上に当てはまるとネイティブアプリ開発を考えるのですが、さて、これらは本当にネイティブアプリにしかできないことでしょうか？</p>
<p><img src="https://www.micss.biz/wp-content/uploads/2022/01/20220124_xcode.jpg" alt="" width="600" class="alignnone" /></p>
<p>それぞれで具体例をあげるなら、</p>
<ul>
<li>(a) QRコードを読み取りたいからやはりネイティブアプリ&#8230;.</li>
<li>(b) オフラインの機能を持たせたいからネイティブ開発&#8230;</li>
<li>(c) やっぱりPUSH通知は送りたいからアプリ開発&#8230;</li>
<li>(d) ARを使いたいからやっぱりアプリ&#8230;</li>
</ul>
<p>こんなところでしょうか。ですが、これらの理由でネイティブアプリ開発にGOサインを出すのはまだ早計です。Web技術だけでできることは日増しに増えていますし、100%要件通りに実現できなくても代替手段で補える場合もあるからです。</p>
<p>以下、例を上げながら1つずつ見ていきましょう。</p>
<p>&nbsp;</p>
<h3>A. Webからハードウェアを活用する</h3>
<p>業務用アプリあるあるな要件に、以下のようなものがあります。全てiOS端末のハードウェアを使います。</p>
<ul>
<li>(1) カメラロールの画像やカメラ撮影した画像をアップロードしたい</li>
<li>(2) 動画撮影・録音したファイルをアップロードしたい</li>
<li>(3) リアルタイムにカメラ映像にフィルタをかけて表示したい</li>
<li>(4) GPSやコンパスやジャイロで位置情報や方角、傾きや加速度を検出したい</li>
<li>(5) バーコードやQRコードを読み取りたい</li>
</ul>
<p>しかし、これらの要件はネイティブアプリでしかできない&#8230;わけではありません。細かくは書きませんがザッと以下のような感じで全てWeb技術だけで実現できます。</p>
<table class="table">
<thead>
<tr>
<th>要件</th>
<th>対応iOS</th>
<th>解説</th>
</tr>
</thead>
<tbody>
<tr>
<th>(1) カメラロールや撮影</th>
<td>iOS6以降</td>
<td rowspan="2">type=&#8221;file&#8221;の&lt;input&gt;要素を使ってアップロードできる</td>
</tr>
<tr>
<th>(2) 録画・録音</th>
<td>iOS6以降</td>
</tr>
<tr>
<th>(3) 撮影＆フィルタ</th>
<td>iOS14.3以降</td>
<td><a href="https://developer.mozilla.org/ja/docs/Web/API/MediaStream/MediaStream" rel="noopener" target="_blank">MediaStream</a>でカメラやマイクのデータをストリーム取得可能に</td>
</tr>
<tr>
<th>(4) GPS/コンパス</th>
<td>iOS4.2以降</td>
<td><a href="https://developer.mozilla.org/en-US/docs/Web/API/DeviceMotionEvent" rel="noopener" target="_blank">DeviceMotionEvent</a>や<a href="https://developer.mozilla.org/en-US/docs/Web/API/DeviceOrientationEvent" target="_blank">DeviceOrientationEvent</a>。当初より取得可能</td>
</tr>
<tr>
<th>(5) バーコード/QRコード</th>
<td>iOS14.3以降</td>
<td><a href="https://developer.mozilla.org/ja/docs/Web/API/MediaStream/MediaStream" rel="noopener" target="_blank">MediaStream</a>と組み合わせて<a href="https://serratus.github.io/quaggaJS/" target="_blank">QuaggaJS</a>や<a href="https://github.com/cozmo/jsQR" target="_blank">jsQR</a>などを使用</td>
</tr>
</tbody>
</table>
<p>OS標準だけに限った話ではなく、例えば(5)の用途向けには<a href="https://www.scandit.com/" rel="noopener" target="_blank">Scandit</a>のようにWebアプリ用に<a href="https://developer.mozilla.org/ja/docs/WebAssembly" target="_blank">WebAssembly</a>を使った業務用高速リーダJavaScriptライブラリを提供しているサードベンダーもいます。</p>
<p><img src="https://www.micss.biz/wp-content/uploads/2022/01/20220124_scandit.jpg" alt="" width="600" class="alignnone" /><br /><span class="caption">(Scandit社のjsライブラリのページ。同社はネイティブ向けのSwift用のライブラリも提供している)</span></p>
<p>一方で、WiFiやセルラー回線を使ったTCP/IP通信、BLE/Bluetooth通信、NFC等のコネクション系、その他バッテリ関係、光・近接センサ系のハードウェアはWebからは使用できません。これらをWebから使えるようにするWebAPIもありますが、Apple は iOS 上の Safari で<a href="https://www.zdnet.com/article/apple-declined-to-implement-16-web-apis-in-safari-due-to-privacy-concerns/" rel="noopener" target="_blank">対応しないと明言</a>しています。</p>
<p><a href="https://www.zdnet.com/article/apple-declined-to-implement-16-web-apis-in-safari-due-to-privacy-concerns/" rel="noopener" target="_blank"><img src="https://www.micss.biz/wp-content/uploads/2022/01/20220124_apple_notimplement_webapis.jpg" alt="" width="600" class="alignnone" /></a><br /><span class="caption">(プライバシーの懸念から対応しないことを決めているWebAPIが多数ある)</span></p>
<p>従ってこれらのハードウェア要件に含まれるならネイティブアプリを選択するしかありません。このように、一言で「ハードウェアを使う」といっても様々です。本当にWebだけで実現できない要件なのか、精査する必要があります。</p>
<p>&nbsp;</p>
<h3>B. オフライン利用を想定している</h3>
<p>WiFi環境のない工場や、電波の届きにくい山間部や海洋上での利用が該当します。オフライン要件ならネイティブアプリ開発&#8230;と即断したいところですが、オフライン要件もWeb技術が一部解決しようとしていることも念頭に置いておくと良いでしょう。</p>
<p><a href="https://developer.mozilla.org/ja/docs/Web/API/Service_Worker_API" rel="noopener" target="_blank">ServiceWorker</a> を使えば JavaScript で書かれたWebアプリをオフラインで動作させることができます。</p>
<p><img src="https://www.micss.biz/wp-content/uploads/2022/01/20220124_serviceworker.jpg" alt="" width="600" class="alignnone" /><br /><span class="caption">(一度取得したWeb上のリソースを保持し、次回以降はそれで応答するような実装が可能になる)</span></p>
<p>さすがにWebへの初回アクセスは必要なので、現場展開時から廃棄まで一度たりともオンラインにならないiOS端末では使えませんが、ある程度オンラインとオフラインを行き来できる環境なら <a href="https://developer.mozilla.org/ja/docs/Web/API/Service_Worker_API" rel="noopener" target="_blank">ServiceWorker</a> によるオフライン対応は検討するに値します。</p>
<p>また、<a href="https://developer.mozilla.org/ja/docs/Web/API/Window/localStorage" rel="noopener" target="_blank">LocalStorage</a> を併用すれば(iOSの場合は)5MBytes未満のデータやファイルを扱うことも可能となります。極端な話、数百kbytes程度のPDFを閲覧する程度ならWebアプリでオフライン対応簡易PDFビュワーが開発できます。</p>
<p>&nbsp;</p>
<h3>C. PUSH通知を送りたい</h3>
<p>PUSH通知を理由にネイティブアプリを開発するケースは意外に多いです。中には、起動後はWebViewでWebサイトを開いてるだけという「ガワ」アプリもあります。</p>
<p><img src="https://www.micss.biz/wp-content/uploads/2022/01/20220124_gawaapp.jpg" alt="" width="600" class="alignnone" /><br /><span class="caption">(2017年に行ったガワアプリについての講演資料から)</span></p>
<p>ここで考えたいのは「独自のネイティブアプリからPUSH通知を送る」のは本当の要件なのかということです。多くの場合、真の要件は「従業員に伝えたい情報が即時的に業務用iOS端末に届く」ことではないでしょうか。</p>
<p>であれば、</p>
<ul>
<li>メール</li>
<li>チャット</li>
</ul>
<p>で代替できる可能性もあるかも知れません。ネイティブアプリ化しようとしているシステムからメールを送れば良いだけですね。メールアプリが通知を送ってくれます。</p>
<p>メールだと他の情報に埋もれやすくて嫌だということなら、昨今業務での利用が進むチャットサービスとAPI連携して、システムから各従業員アカウントにメッセージとして送れば良いのです。システムからのメッセージに特化したBOTを開発してもいいでしょう。いずれにしてもチャットアプリが通知を送ってくれます。</p>
<p>PUSH通知機構を持ったネイティブアプリを別途開発することに比べれば、導入済みの業務用コミュニケーションツールに便乗して通知要件を満たすほうが遥かにリーズナブルです。</p>
<p>それでもPUSH通知の見え方はやっぱり専用アイコンでないと困る&#8230;という方もおられるでしょう。そんな方には朗報があります。iOS15から <a href="https://developer.apple.com/documentation/usernotifications/implementing_communication_notifications" rel="noopener" target="_blank">Communications Notification</a> という仕組みにより、チャットアプリからの通知なのに専用BOTやグループから直接通知が届いたように見える実装が可能になりました。SlackやLINE等はいち早く対応しています。</p>
<p><img src="https://www.micss.biz/wp-content/uploads/2022/01/20220124_communications-notification.jpg" alt="" width="500" class="alignnone" /><br /><span class="caption">(WWDC2021の資料より。チャットアプリからの通知だが、グループやシステムから通知が届いたような表現にできる)</span></p>
<p>この <a href="https://developer.apple.com/documentation/usernotifications/implementing_communication_notifications" rel="noopener" target="_blank">Communications Notification</a> に対応したチャットサービスを使えば、ほぼ専用ネイティブアプリからの通知と変わらないPUSH通知を実現することができます。</p>
<p>また更に iOS15.4 のベータ版に Web アプリからPUSH通知が送れるようになると思われる記述も見付かっています(2022年2月時点)。そう遠くない将来にWeb技術でPUSH通知が容易に送れるようになるかも知れません。</p>
<p>&nbsp;</p>
<h3>D. その他のiOS固有の機能を使いたい</h3>
<p>ケースバイケースとなりますので、「本当にWeb技術で実現できないのか？」という視点で都度調べてみることをお勧めします。</p>
<p>調査の過程で使えそうなWebAPIを発見したら、WebAPIが各種ブラウザで使えるかどうかを調べられる <a href="https://caniuse.com/" rel="noopener" target="_blank">Can I use&#8230;</a> のサイトでiOSのSafariの対応状況を調べると良いでしょう。</p>
<p><img src="https://www.micss.biz/wp-content/uploads/2022/01/20220124_caiuse_mediastream.jpg" alt="" width="600" class="alignnone" /><br /><span class="caption">(各種WebAPIのブラウザ対応状況を確認できる。上図は MediaStream API の対応状況を調べている様子)</span></p>
<p>iOSの欄がもし<strong>Supported</strong>(緑色表示)で、iOSバージョンに問題ないのであれば、やろうとしていることが当該WebAPIを使って実現できないかを検証します。</p>
<p>例えば、昨今のメタバースやXRというバズワードの煽りをうけてAR(Augmented Reality)をやりたいとしましょう。iOSにはネイティブで使える <a href="https://developer.apple.com/jp/augmented-reality/arkit/" rel="noopener" target="_blank">ARKit</a> や <a href="https://developer.apple.com/jp/augmented-reality/realitykit/" rel="noopener" target="_blank">RealityKit</a> 等がありますが、まずWeb技術で実現できないか調べます。調査を始めるとすぐに <a href="https://developer.mozilla.org/ja/docs/Web/API/WebXR_Device_API" rel="noopener" target="_blank">WebXR Device API</a> というWeb技術にたどり着く筈です。</p>
<p>早速 <a href="https://caniuse.com/" target="_blank">Can I use&#8230;</a> で調べるとiOSは非対応であることが分かります。</p>
<p><img src="https://www.micss.biz/wp-content/uploads/2022/01/20220124_caniuse_webxr.jpg" alt="" width="600" class="alignnone" /><br /><span class="caption">(2022年2月時点最新版のiOS15.3でも次期バージョンでもサポートされないことが分かる)</span></p>
<p>ここで、ようやくネイティブアプリ開発するしかないという判断を下すわけです。</p>
<p>あるいは、更に深堀り調査して <a href="https://developer.apple.com/jp/augmented-reality/quick-look/" rel="noopener" target="_blank">AR Quick Look</a> なるApple公式の技術があることまで辿り着ければ、これで要件を満たせそうだ、とネイティブアプリ開発は不要の判断を下せるかも知れません。(単に3DモデルをAR表示したいだけであれば十分)</p>
<p><img src="https://www.micss.biz/wp-content/uploads/2022/01/20220124_arquicklook.jpg" alt="" width="600" class="alignnone" /><br /><span class="caption">(Pixarが開発したUSDZという3Dモデルデータの表示にSafariは標準対応している)</span></p>
<p>このように最新のWeb技術をよくよく調べることが重要です。またそのような情報に詳しい人に聞いてみても良いでしょう。<a href="/consultation/">弊社のコンサルティングサービス</a>にお問い合わせ頂いても結構です。</p>
<p>&nbsp;</p>
<p>以上、長々と書いてきましたが、少々乱暴にまとめると、<strong>Web技術でできることは沢山あるし増えているので、早計にネイティブアプリ開発に舵を切らないようにしましょう</strong>ということです。</p>
<p>お断りしておくと、弊社はネイティブアプリ開発を否定したいわけではありません。2008年から幾つも業務用ネイティブアプリを開発してきましたし、今でもご支援を継続させて頂いています。iOS向け業務用サービスを自社開発して数百社に提供してきた経験もあります。それら経験から言えるのは、やはり<strong>ネイティブアプリが最善策だ</strong>ということです。</p>
<p>しかし、<a href="/2018/10/13/526/">以前の投稿</a>に書いた通りネイティブアプリは<strong>本当に本当に</strong>大変です。(参考 : <a href="/2018/10/13/526/">社内用独自アプリを開発しようと思ったら最初に考えるべきこと</a>)</p>
<p>開発して終了ではなく、保守運用に大きな罠も潜んでいることを関係者が認識できていない場合もあります。業務用ネイティブアプリの独自開発は、長期に渡る予算を継続的に確保できるか、内部に開発部隊を抱えているか、のどちらかでなければ将来の足かせとなる可能性に留意すべきです。</p>
<p>Webでやってみる選択肢も是非検討して下さい。一般消費者向けアプリと異なり、エンタープライズiOSではMDMやWebクリップの技術を組み合わせれば、ネイティブアプリと遜色ない体験をWeb技術だけで提供が可能です。ネイティブアプリ化の検討はその後でも遅くありません。</p>
]]></content:encoded>
			</item>
		<item>
		<title>業務用WebシステムのiOS用クライアントアプリ開発は本当に必要か？を考える (前編)</title>
		<link>https://www.micss.biz/2022/01/10/4968/</link>
		<pubDate>Sun, 09 Jan 2022 22:00:22 +0000</pubDate>
		<dc:creator><![CDATA[OishiYuichi]]></dc:creator>
				<category><![CDATA[ABM]]></category>
		<category><![CDATA[Webクリップ]]></category>

		<guid isPermaLink="false">https://www.micss.biz/?p=4968</guid>
		<description><![CDATA[iOS端末の業務活用を考え始めると多くの企業が「ウチの業務専用のiOSアプリを作りたい」となります。また、B2B向けシステムを提供しているベンダーの場合は、顧客からの要望をうけて「ウチでもiOS専用のクライアントアプリを [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>iOS端末の業務活用を考え始めると多くの企業が「ウチの業務専用のiOSアプリを作りたい」となります。また、B2B向けシステムを提供しているベンダーの場合は、顧客からの要望をうけて「ウチでもiOS専用のクライアントアプリを作ろう」となるものです。</p>
<p><img src="https://www.micss.biz/wp-content/uploads/2022/01/20220110_xcode.jpg" alt="" width="600" class="alignnone" /><br /><span class="caption">(昨今はXcodeやSwiftを使いこなせるエンジニアや外注先の確保が大変)</span></p>
<p>本稿は、そんな選択肢に<strong>待った</strong>をかける投稿です。</p>
<p>本稿を読めば、<strong>業務用iOSアプリ提供の選択肢がネイティブアプリ開発だけではない</strong>ことが理解できるでしょう。2008年からアプリ開発を生業にしてきた弊社が書くのもおかしな話ですが、ある程度のユーザ体験(UX)を妥協できるなら、実は<strong>ネイティブアプリ開発は不要にできる</strong>のです。</p>
<p>一体どういうことか。2回に分けて解説していきます。</p>
<p>&nbsp;</p>
<h3>Webをネイティブのように動かす</h3>
<p>はじめにお断りしておくと、本稿で紹介するのは「Web技術でネイティブアプリを開発する」方法ではありません。</p>
<p>世の中には <a href="https://reactnative.dev/" rel="noopener" target="_blank">React Native</a> や <a href="https://ionicframework.com/docs/ja" target="_blank">ionic</a> や <a href="https://ja.monaca.io/" target="_blank">Monaca</a> のように Javascript を使ってネイティブアプリを開発できる技術もありますが、それらの紹介は本旨ではありませんので取り上げません。<a href="https://flutter.dev/" rel="noopener" target="_blank">Flutter</a> や <a href="https://docs.microsoft.com/ja-jp/xamarin/get-started/what-is-xamarin" rel="noopener" target="_blank">Xamarin</a> のようなマルチプラットフォーム対応のネイティブアプリ開発フレームワークにも言及しません。</p>
<p>本稿で紹介するのは、あくまで既存Webシステムをネイティブアプリ<strong>のように</strong>提供するテクニックです。</p>
<p>まずは実例を見ていただいたほうが早いので、以下動画をご覧下さい。ある企業で配布されたある業務用iPad&#8230;という想定です。HOME画面に業務で使う「アプリ」が最初からありますね。これをタップして起動してみます。</p>
<p><video src="/wp-content/uploads/b2bi/os/b2bios_abmwebclip.mov" controls width="600" poster="/wp-content/uploads/b2bi/os/b2bios_abmwebclip.jpg"><br />
<span class="caption">(動画が表示されない場合は<a href="https://www.youtube.com/watch?v=7AIm01Nixs4" rel="noopener" target="_blank">こちら</a>)</span><br />
</video></p>
<p>これは、Apple Business Manager (ABM) のiPadOS用ネイティブアプリ&#8230;<strong>のようなもの</strong>を操作している様子です。ABMはiOSの業務活用で主に管理部門が触るWebシステムです。(ABMについては<a href="/2020/08/14/1927/">こちら</a>)</p>
<p>何となくネイティブアプリっぽく見えませんか？ABMを普段お使いの方なら「あれ？ABMってAppStore にアプリあったっけ？」と思われた方もいるかも知れません。</p>
<p>もちろん <strong>ABM に AppStore で公開されたネイティブアプリはありません</strong>。大事なポイントは、<strong>ネイティブアプリが存在しない既存Webシステムをネイティブアプリのように振る舞わせることができている</strong>点です。</p>
<p>ちなみに、Safariのブックマークをアイコン化してホーム画面に配置する方法があることをご存じの方もいるでしょう。こんなやつですね。</p>
<p><img src="https://www.micss.biz/wp-content/uploads/2022/01/20220110_saveathome.jpg" alt="" width="320" class="alignnone" /><br /><span class="caption">(Safariでは表示中のサイトブックマークをホーム画面に保存できる機能がある)</span></p>
<p>この方法でもホーム画面にアイコンを置くことができます。が、タップすると以下のような表示のされ方になります。</p>
<p><img src="https://www.micss.biz/wp-content/uploads/2022/01/20220110_abm_on_safari.jpg" alt="" width="600" class="alignnone" /></p>
<p>明らかにブラウザで開いていることが分かりますね。アドレスバーを含めてブラウザ付随の色んな機能も使えてしまいます。これらを非表示にするような html の書き方もありますが、いずれにしてもブックマーク登録作業を全従業員にやって貰うことは現実的ではありませんね。業務用のアプリは配布端末に最初からインストールされているべきです。</p>
<p>&nbsp;</p>
<h3>Webをネイティブのように動かす種明かし</h3>
<p>既存のWebをネイティブアプリのように提供するには、2つの技術を組み合わせます。</p>
<p>1つ目は以下の画像の通り<strong>Webクリップ</strong>です。</p>
<p><img src="https://www.micss.biz/wp-content/uploads/2022/01/20220110_ac2_webclip4abm.jpg" alt="" width="600" class="alignnone" /></p>
<p>構成プロファイルで指定するWebクリップを「Webサイトがネイティブアプリに見える」ような設定で作成しているのですね。もちろんURLの欄はWebシステムのURLです。詳細は以下をご覧下さい。</p>
<ul>
<li><a href="/2021/10/18/4552/">Webクリップの作り方と各設定値を徹底解説 [前編] -Webクリップとは何か(2)-</a></li>
<li><a href="/2021/10/25/4678/">Webクリップの作り方と各設定値を徹底解説 [後編] -Webクリップとは何か(3)-</a></li>
</ul>
<p>2つ目の技術は<strong>MDM</strong>。ネイティブっぽく見える設定にしたWebクリップを含む構成プロファイルを、MDMから端末に配信します。そうすると配布端末は勝手に以下のようになってくれます。</p>
<p><img src="https://www.micss.biz/wp-content/uploads/2020/01/20200110_nativelike_abm.jpg" alt="" width="600" class="alignnone" /><br /><span class="caption">(MDMなら予めWebクリップをアイコンとして表示できる。見た目上はネイティブアプリと違いは無い)</span></p>
<p>再掲しますが、これをタップすると以下のように動作するわけです。</p>
<p><video src="/wp-content/uploads/b2bi/os/b2bios_abmwebclip.mov" controls width="600" poster="/wp-content/uploads/b2bi/os/b2bios_abmwebclip.jpg"><br />
<span class="caption">(動画が表示されない場合は<a href="https://www.youtube.com/watch?v=7AIm01Nixs4" rel="noopener" target="_blank">こちら</a>)</span><br />
</video></p>
<p>さて、これはネイティブアプリでしょうか。それともWebでしょうか。余り詳しくない方が見れば、これを言い当てるのは難しいでしょう。</p>
<p>十分にスマホ/タブレット最適化されたWebを適切にWebクリップとして設定し、適切にMDMから配信した時、そのWebはネイティブアプリと区別できないのです。</p>
<p><img src="https://www.micss.biz/wp-content/uploads/2022/01/20220110_abm_appstore.jpg" alt="" width="600" class="alignnone" /></p>
<p>このように、使っている様子を切り取ってもほぼほぼネイティブアプリですね。</p>
<p><img src="https://www.micss.biz/wp-content/uploads/2022/01/20220110_webclip_taskswitch.jpg" alt="" width="600" class="alignnone" /><br /><span class="caption">(Webクリップ起動状態からタスクスイッチする様子。個別のネイティブアプリのように見える)</span></p>
<p>HOME画面上にアイコンとして表示されて、起動してもアドレスバーやツールバーがなく、画面遷移してもその状態が維持できて、インストールに特別な手間が不要で、普通に業務がこなせるなら、それはもう立派なiOS端末向けの業務アプリです。</p>
<p>WebクリップとMDMの知識は必要になりますが、Swift言語でプログラムを1行も書かずともXcodeを1秒も触らなくてもアプリ(と遜色ないもの)を提供できるというわけです。何だか「業務用アプリ」の可能性が広がると思いませんか？</p>
<p>&nbsp;</p>
<p>以上、本稿ではWebクリップとMDMを使って、既存Webシステムをネイティブアプリのように提供できることを紹介しました。もちろん全てのWebシステムに適用できる考え方ではありませんし制限事項もあります。次回は、この手法を採用できる条件や制約について説明します。</p>
]]></content:encoded>
			</item>
		<item>
		<title>WebクリップはSafariを削除していても使用できる(ようになった) -Webクリップとは何か(4)-</title>
		<link>https://www.micss.biz/2021/11/15/4804/</link>
		<pubDate>Sun, 14 Nov 2021 22:00:08 +0000</pubDate>
		<dc:creator><![CDATA[OishiYuichi]]></dc:creator>
				<category><![CDATA[Webクリップ]]></category>

		<guid isPermaLink="false">https://www.micss.biz/?p=4804</guid>
		<description><![CDATA[Webクリップは、WebサイトやWebアプリのブックマークです。 (Webクリップを使えば、ブックマークをネイティブアプリのように配布できる。詳しくはこちらを参照) Webである以上、表示には当然ブラウザが使われるので  [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Webクリップは、WebサイトやWebアプリのブックマークです。</p>
<p><img src="https://www.micss.biz/wp-content/uploads/2021/11/20211115_ac2-webclip.jpg" alt="" width="600" class="alignnone" /><br /><span class="caption">(Webクリップを使えば、ブックマークをネイティブアプリのように配布できる。詳しくは<a href="/2021/10/04/4461/">こちら</a>を参照)</span></p>
<p>Webである以上、表示には当然ブラウザが使われるので Safari が必要になる筈ですね。では、Safariの利用を禁止した端末でWebクリップを開くとどうなると思いますか？</p>
<p><img src="https://www.micss.biz/wp-content/uploads/2021/11/20211115_ac2_restrict_safari.jpg" alt="" width="600" class="alignnone" /><br /><span class="caption">(Safariを禁止する構成プロファイルを作成する様子。これを流し込んだ端末でWebクリップはどうなる？)</span></p>
<p>予想に反して実は、<strong>SafariがなくてもWebクリップは正しく動作します</strong>。</p>
<p>以下はWebクリップのみを残した状態の iPod touch ですがこれでもWebクリップは動作します。ブラウザアプリである Safari が使えない状態なのに&#8230;という点が重要です。他のブラウザアプリも一切不要で、Webクリップのみで指定のURLがブラウザ表示できます。</p>
<p><img src="https://www.micss.biz/wp-content/uploads/2021/11/20211115_webclip_without_safari.jpg" alt="" width="240" class="alignnone" /><br /><span class="caption">(監視モード化したiPod touchでは設定アプリを除いて全ての標準アプリを消すことができる)</span></p>
<p>&nbsp;</p>
<h3>昔のWebクリップはSafari必須だった</h3>
<p>iOS4や5など初期の頃、Webクリップの動作にはSafariが必須でした。当時は、</p>
<p>「Webクリップを使いたいけど Safari が必須なのか。そうすると Safari で任意ページを見れてしまうからダメだ」</p>
<p>という声が現場から聞かれたものです。それもあって Safari を禁止したい企業ではWebクリップが活用されず、その代わりにブックマークやホワイトリスト機能を搭載したセキュアブラウザを導入したりしていました。</p>
<p>ですが、今は <strong>Safari 禁止環境でもWebクリップ単体で動作します</strong>。</p>
<p>実は関係者の間でも(MDMベンダーでも)この情報がアップデートされておらず『WebクリップにはSafari必須』と誤った理解のままでいることもありますので注意しましょう。Safari必須という過去仕様が理由でサードベンダーのセキュアブラウザを導入している場合は再検討をお勧めします。</p>
<p>是非、最新のiOSでSafari禁止にした端末上でWebクリップを試してみて下さい。</p>
<p>&nbsp;</p>
<h3>WebクリップのUserAgentはどうなるのか</h3>
<p>ところで、Safariを禁止してWebクリップからWebサイトを開いた場合と、Safariから直接開いた場合とで何か違いはあるでしょうか？</p>
<p><img src="https://www.micss.biz/wp-content/uploads/2021/11/20211115_micss_webclip.jpg" alt="" width="240" class="alignnone" />&nbsp;<img src="https://www.micss.biz/wp-content/uploads/2021/11/20211115_micss_safari.jpg" alt="" width="240" class="alignnone" /><br /><span class="caption">(1つ目はフルスクリーンをONにしたWebClipからの表示、2つ目はSafariでURL直打ち表示)</span></p>
<p>上図のように表示に違いはありますが、<strong>サーバサイドで得られる情報に差はありません</strong>。UserAgentが一緒になります。WebClipでアクセスした時も、Safariでアクセスしたかのように</p>
<blockquote>
<p style="margin-bottom:0px;">
Mozilla/5.0 (iPod touch; CPU iPhone OS 15_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.0 Mobile/15E148 Safari/604.1
</p>
</blockquote>
<p>というSafariのUserAgentと全く同じなのです。つまりサーバ側では、<strong>Webクリップ起動で表示されたのか SafariからURL指定で表示されたのかを識別することはできない</strong>ということですね。</p>
<p>javascriptの <a href="https://developer.mozilla.org/ja/docs/Web/API/Element/clientHeight" rel="noopener" target="_blank">documentElement.clientHeight</a> で区別できなくもないですが、そもそも端末ごとに異なるため WebClip か Safari 直接かをこれだけで厳密に識別することは困難でしょう。</p>
<p>&nbsp;</p>
<p>ということで、本稿ではWebクリップがSafari禁止環境でも機能することを紹介しました。</p>
<p>なお蛇足ですが、この仕様に変わったのがiOSのどのバージョンからか弊社では把握できていません。iOS12以降ではWebクリップ単体で動作することを確認しています。AppleがエンタープライズiOS現場の声に対応するのはとても早いので、意外にもっと早いiOSバージョンでも可能になっていたかも知れません。</p>
]]></content:encoded>
			</item>
		<item>
		<title>Webクリップの作り方と各設定値を徹底解説 [後編] -Webクリップとは何か(3)-</title>
		<link>https://www.micss.biz/2021/10/25/4678/</link>
		<pubDate>Sun, 24 Oct 2021 22:00:42 +0000</pubDate>
		<dc:creator><![CDATA[OishiYuichi]]></dc:creator>
				<category><![CDATA[Apple Configurator]]></category>
		<category><![CDATA[Webクリップ]]></category>

		<guid isPermaLink="false">https://www.micss.biz/?p=4678</guid>
		<description><![CDATA[(最終更新日 : 2023/7/20) 前回の投稿に引き続き、Webクリップの設定項目を徹底解説します。後編の今回は、後半４つについての解説です。 1. ラベル 2. URL 3. 削除を許可 4. アイコン 5. 作成 [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>(最終更新日 : 2023/7/20)</p>
<p><a href="/2021/10/18/4552/">前回の投稿</a>に引き続き、Webクリップの設定項目を徹底解説します。後編の今回は、後半４つについての解説です。</p>
<ul>
<li>1. ラベル</li>
<li>2. URL</li>
<li>3. 削除を許可</li>
<li>4. アイコン</li>
<li><a href="#05">5. 作成済みアイコン</a></li>
<li><a href="#06">6. フルスクリーン</a></li>
<li><a href="#07">7. マニフェストの範囲を無視</a></li>
<li><a href="#08">8. 対象のApp</a></li>
</ul>
<p><a href="/2021/10/18/4552/">前編</a>をまだ見ていないかたは先に<a href="/2021/10/18/4552/">前編</a>を見てから戻ってきて下さい。それでは順番に見ていきましょう。</p>
<p id="05">&nbsp;</p>
<h3>5. 作成済みアイコン</h3>
<p>このチェックは常にONにします。</p>
<p><img src="https://www.micss.biz/wp-content/uploads/2021/10/20211018_webclip-conf05-compsed.jpg" alt="" width="400" class="alignnone" /></p>
<p>OFFの場合、iOS6以前のスキューモフィズム(<a href="https://goodpatch.com/blog/skeuomorphism-and-flat-design" target="_blank">参考</a>)なテイストになるようハイライトがかかる筈はずなのですが、直近のiOS14,15共に下図のように差がないことが確認されています。(理由は不明)</p>
<p><img src="https://www.micss.biz/wp-content/uploads/2021/10/20211018_webclip-test-composed.jpg" alt="" width="400" class="alignnone" /><br /><span class="caption">(shine と呼ばれる効果が自動でかかる筈。分かり易いよう黒色グラデーションのアイコンにしているが変化はない)</span></p>
<p>フラットデザインが当たり前の昨今では不要な設定項目です。このチェックは常時ONで良いでしょう。</p>
<p id="06">&nbsp;</p>
<h3>6. フルスクリーン</h3>
<p>文字通りの設定項目です。</p>
<p><img src="https://www.micss.biz/wp-content/uploads/2021/10/20211018_webclip-conf06-fullscreen.jpg" alt="" width="400" class="alignnone" /></p>
<p>このチェックをONにするとWebクリップをタップした時に全画面で表示されるようになります。下図では、左がチェックOFF、右がONです。見比べてみて下さい。</p>
<p><img src="https://www.micss.biz/wp-content/uploads/2021/10/20211018_webclip-test-fulloff.jpg" alt="" width="240" class="alignnone" />&nbsp;&nbsp;<img src="https://www.micss.biz/wp-content/uploads/2021/10/20211018_webclip-test-fullon.jpg" alt="" width="240" class="alignnone" /><br /><span class="caption">(左がフルスクリーンOFF、右がフルスクリーンON)</span></p>
<p>チェックがONになっている右側は、アドレスバーや画面下のツールバーも表示されずスッキリしています。</p>
<p>ネイティブアプリを起動しているかのように見えなくもありませんね。表示させたいURLがWebアプリのようなものである場合や、コンテンツ以外のUIを触らせたくない場合は、このチェックはONにしましょう。</p>
<p>ツールバーを消してしまったら「進む」「戻る」操作ができないではないか&#8230;という心配は無用です。画面左端から右方向へ、右端から左方向へスワイプすることで「進む」「戻る」ことができます。</p>
<p id="07">&nbsp;</p>
<h3>7. マニフェストの範囲を無視</h3>
<p>分かりにくい設定名ですが、前述の<a href="#06">6. フルスクリーン</a>とセットでONにすることが多い項目です。</p>
<p><img src="https://www.micss.biz/wp-content/uploads/2021/10/20211018_webclip-conf07-manifest.jpg" alt="" width="400" class="alignnone" /></p>
<p>Webクリップのデフォルト挙動では、<strong>WebクリップのURLに指定した以外のページに遷移するとツールバーやタイトルバーが表示されて</strong>しまいます。(同一サイト内でも)</p>
<p>少しでもページ遷移すると余計なUIが表示されるなんて興醒めですよね。この挙動を抑制するのが「マニフェスの範囲を無視」のチェックです。</p>
<p>下図は、Webクリップを開いたあとサイト内の別ページに遷移した直後の状態を、チェックON/OFFで見比べたものです。左がOFF、右がONです。</p>
<p><img src="https://www.micss.biz/wp-content/uploads/2021/10/20211018_webclip-test-manifestoff.jpg" alt="" width="240" class="alignnone" />&nbsp;&nbsp;<img src="https://www.micss.biz/wp-content/uploads/2021/10/20211018_webclip-test-manifeston.jpg" alt="" width="240" class="alignnone" /></p>
<p>右側チェックONの場合は、リンクを遷移してもフルスクリーン状態が保持されていることが分かるでしょう。</p>
<p>リンク遷移先がどこであっても(外部サイトでも)フルスクリーン状態は保持されますので、ネイティブアプリっぽくWebクリップを使いたい場合に理想的な挙動になっています。前述の<a href="#06">6. フルスクリーン</a>のチェックをONにした時は、一緒にONにしておくのがお勧めです。</p>
<p id="08">&nbsp;</p>
<h3>8. 対象のApp</h3>
<p>この設定もWebクリップのデフォルト挙動を変更するものです。</p>
<p>WebクリップはタップするとSafariでURLを開いたような挙動になります。が、この設定項目を使うと<strong>Safari以外の別アプリでWebクリップを開く</strong>ことができます。以下の動画を見てみて下さい。</p>
<p><img src="https://www.micss.biz/wp-content/uploads/2021/10/20211018_webclip-test-targetapp.gif" alt="" width="240" class="alignnone" /><br /><span class="caption">(右側のアイコンがWebクリップ。タップするとSafariではなくChromeで開く)</span></p>
<p>Google Chrome でWebクリップが開いていますね。対応しているアプリでなければなりませんが、任意のアプリが指定可能です。</p>
<p>ただ残念ながら Apple Configurator の構成プロファイルエディタからは本項目を設定できません。なぜなら、この項目が<strong>MDMから配信された構成プロファイルでのみ有効</strong>だからです。ではMDMサービス側の構成プロファイルエディタを使えば良いのかというと、MDMサービスによってはこの設定値に対応していない場合があります。ではどうするのか&#8230;？</p>
<p>手書きします(笑)</p>
<p><a href="/2020/05/18/1745/">以前の投稿</a>で紹介した通り、構成プロファイルはしょせんXMLファイルです。テキストエディタ等で編集可能ですので、Apple Configurator で作成したあと以下のようなXML(plist)をWebクリップの定義部分に追加して保存し、その構成プロファイルをMDMにアップロードします。</p>
<pre>
&lt;key&gt;TargetApplicationBundleIdentifier&lt;/key&gt;
&lt;string&gt;com.google.chrome.ios&lt;/string&gt;
</pre>
<p>具体的には以下のような感じですね。</p>
<p><img src="https://www.micss.biz/wp-content/uploads/2021/10/20211018_webclip-targetxml.jpg" alt="" width="600" class="alignnone" /></p>
<p>Webクリップの1つ1つは &lt;dict&gt; 〜 &lt;/dict&gt; 内に定義されていますので、その中に挿入します。Webクリップごとに指定できますので、Webクリップによって起動するアプリを変えることも可能です。</p>
<p>設定値にある com.google.chrome.ios はiOS版Chromeアプリを意味しています。各アプリのIDはMDMの画面で確認できます。当然、指定したアプリは端末にインストールされている必要がありますので、MDMからアプリも配信するようにしましょう。</p>
<p>もちろん、本設定項目の指定に対応しているMDMであれば手書きの必要はありません。比較的新しい設定項目ですので、指定可能かどうかMDMベンダーに確認すると良いでしょう。<br />
<img src="https://www.micss.biz/wp-content/uploads/2021/10/20211025_bizmobile_webclip.jpg" alt="" width="600" class="alignnone" /><br /><span class="caption">(弊社がよく利用するBizMobile Go!は、2023年7月より対応)</span></p>
<p>&nbsp;</p>
<p>以上、2回に渡って Web クリップの作成方法と全8項目の設定値を徹底解説しました。</p>
<p>Webクリップは、HOME画面に設置できるWebブックマークに過ぎない、と言ってしまえば確かにそうです。ですが、意外に色んな制御が可能であることを感じて頂けたのではないでしょうか。</p>
<p>特に、Webアプリをネイティブアプリのように振る舞わせられることは、ネイティブアプリ開発の代替にできるという意味でSIer企業には朗報と言えるかも知れません。もちろん制約はありますが、活用を検討する価値はあるでしょう。</p>
]]></content:encoded>
			</item>
		<item>
		<title>Webクリップの作り方と各設定値を徹底解説 [前編] -Webクリップとは何か(2)-</title>
		<link>https://www.micss.biz/2021/10/18/4552/</link>
		<pubDate>Sun, 17 Oct 2021 22:00:43 +0000</pubDate>
		<dc:creator><![CDATA[OishiYuichi]]></dc:creator>
				<category><![CDATA[Apple Configurator]]></category>
		<category><![CDATA[Webクリップ]]></category>

		<guid isPermaLink="false">https://www.micss.biz/?p=4552</guid>
		<description><![CDATA[以前の投稿でWebクリップの概要を紹介しました。 本稿ではWebクリップの作成方法と、Webクリップの設定値について紹介します。本稿を読めばWebクリップの設定項目が何を意味するか全て理解でき、Webクリップを最大限に活 [&#8230;]]]></description>
				<content:encoded><![CDATA[<p><a href="/2021/10/04/4461/">以前の投稿</a>でWebクリップの概要を紹介しました。</p>
<p>本稿ではWebクリップの作成方法と、Webクリップの設定値について紹介します。本稿を読めばWebクリップの設定項目が何を意味するか全て理解でき、Webクリップを最大限に活用できるようになります。 (長くなったので2部構成にしました。後編は<a href="/2021/10/25/4678/">こちら</a>)</p>
<p>&nbsp;</p>
<h3>Webクリップの作り方</h3>
<p>Webクリップは構成プロファイルに含めることのできる情報の一つですので、Webクリップを作るとはつまり構成プロファイルを作ることと同義です。</p>
<p><img src="https://www.micss.biz/wp-content/uploads/2021/10/20211018_somesettings_mobileconfig.jpg" alt="" width="320" class="alignnone" /><br /><span class="caption">(Webクリップは構成プロファイルに含められる一要素に過ぎない)</span></p>
<p>基本的に Apple Configurator2 の専用エディタで作成することをおすすめします。MDMサービスでもWebクリップは作成できますが、新しい設定項目に対応していない場合もありWebクリップの機能を最大限に活用できないからです。</p>
<p><img src="https://www.micss.biz/wp-content/uploads/2021/10/20211018_hexnode-webclip.jpg" alt="" width="600" class="alignnone" /><br /><span class="caption">(URLとアイコン以外ほとんど何も設定できない <a href="https://www.hexnode.com/ja/" rel="noopener" target="_blank">hexnode mdm</a> の画面。WebClipを重視していないのが分かる)</span></p>
<p>では、早速 Apple Configurator2 を使って構成プロファイルを作っていきましょう。</p>
<p>まずメニューから新規作成を選びます。下図のように構成プロファイルエディタが表示されますので、最初に「一般」の各項目を入力しましょう。</p>
<p><img src="https://www.micss.biz/wp-content/uploads/2021/10/20211018_ac2-webclip-general.jpg" alt="" width="600" class="alignnone" /><br /><span class="caption">(Webクリップのみを含む構成プロファルとして作成する。名称で明示しておくと管理し易くなる)</span></p>
<p>一般の項目が設定できたら、画面左側のカテゴリ一覧から「Webクリップ」を選びます。</p>
<p><img src="https://www.micss.biz/wp-content/uploads/2021/10/20211018_ac2-webclip2-new.jpg" alt="AC2Webクリップ初期" width="600" class="alignnone" /></p>
<p>次に「構成」ボタンをクリックすると、下図のようなWebクリップの詳細入力画面が現れます。</p>
<p><img src="https://www.micss.biz/wp-content/uploads/2021/10/20211018_ac2-webclip2-newdetail.jpg" alt="AC2Webクリップ" width="600" class="alignnone" /><br /><span class="caption">(赤色マークは必須項目)</span></p>
<p>ここにWebクリップの設定値を入力していきます。1つの構成プロファイルに複数のWebクリップを含めることもできますので、必要な数だけ右上の+ボタンをクリックして追加して下さい。</p>
<p>&nbsp;</p>
<p>それでは以下、Webクリップの各設定を順に見ていきましょう。2021年時点で8項目あります。Apple Configurator2のUIでは7項目しかありませんが、1つ足りない理由は後述します。(長くなったので後半4つは<a href="/2021/10/25/4678/">後編</a>で解説しています)</p>
<ul>
<li><a href="#01">1. ラベル</a></li>
<li><a href="#02">2. URL</a></li>
<li><a href="#03">3. 削除を許可</a></li>
<li><a href="#04">4. アイコン</a></li>
<li>5. 作成済みアイコン</li>
<li>6. フルスクリーン</li>
<li>7. マニフェストの範囲を無視</li>
<li>8. 対象のApp</li>
</ul>
<p id="01">&nbsp;</p>
<h3>1. ラベル</h3>
<p>Webクリップがインストールされた時にHOME画面に表示される名称です。</p>
<p><img src="https://www.micss.biz/wp-content/uploads/2021/10/20211018_webclip-conf01-label.jpg" alt="" width="400" class="alignnone" /></p>
<p>ネイティブアプリでいうところのアプリ名に相当しますので、ラベルの文字列長には注意が必要です。ラベル長を変えて複数のWebクリップを作成してみた下図を見て下さい。</p>
<p><img src="https://www.micss.biz/wp-content/uploads/2021/10/20211018_webclip-test-label.jpg" alt="Webクリップが3つ並ぶ" width="320" class="alignnone" /><br /><span class="caption">(左から順番にラベル長が全角6,7,8文字。一番右は半角カタカナで16文字)</span></p>
<p>上図から分かる通り、ラベル長は<strong>全角6,7文字を目安にする</strong>のが良いでしょう(1つ目2つ目のアイコン)。長過ぎると3つ目のアイコンのように末尾が&#8230;となってしまいます。</p>
<p>末尾&#8230;の回避策として半角カタカナも使えますが、いっきに昭和感が漂ってダサくなりますのでやめましょう。HOME画面に半角カタカナを表示するなど、iOSへの冒涜です。</p>
<p id="02">&nbsp;</p>
<h3>2. URL</h3>
<p>Webクリップをタップした時に表示するURLを入力します。</p>
<p><img src="https://www.micss.biz/wp-content/uploads/2021/10/20211018_webclip_url.jpg" alt="" width="400" class="alignnone" /></p>
<p><a href="https://developer.apple.com/documentation/devicemanagement/webclip" rel="noopener" target="_blank">Appleのドキュメント</a>ではURLには http:// か https:// を指定するよう明記されています。</p>
<p><img src="https://www.micss.biz/wp-content/uploads/2021/10/20211018_webclip_urlrestriction.jpg" alt="" width="600" class="alignnone" /></p>
<p>が、Appleの<a href="https://support.apple.com/ja-jp/guide/mdm/mdmbc7c7808/web" rel="noopener" target="_blank">別のドキュメント</a>には tel:// や mail: など一般表記と異なる表記(URL scheme と言います)も入力できるとあります。</p>
<p><img src="https://www.micss.biz/wp-content/uploads/2021/10/20211018_webclip-test-urltel.jpg" alt="" width="320" class="alignnone" /><br /><span class="caption">(tel://06〜 というURLを指定したWebクリップをタップした直後の画面。続けて発信タップで指定番号に電話がかかる)</span></p>
<p>Appleの公式ドキュメントの記述に若干ブレがあるのが気にはなりますが、便利は便利ですので活用すると良いでしょう。</p>
<p>また、<strong>example://</strong> のように他アプリを呼び出す URL Scheme も指定できます。が、iOS9から推奨されている <a href="https://developer.apple.com/ios/universal-links/" rel="noopener" target="_blank">Universal Links</a> を使うほうがユーザ体験としては優れています。どんな URL Scheme が使えるか、Universal Links に対応しているかどうか、等はアプリ開発元に確認してみて下さい。</p>
<p id="03">&nbsp;</p>
<h3>3. 削除を許可</h3>
<p>このチェックをONにすると、Webクリップは削除できなくなります。</p>
<p><img src="https://www.micss.biz/wp-content/uploads/2021/10/20211018_webclip-conf03-delete.jpg" alt="" width="400" class="alignnone" /></p>
<p>以下はHOME画面を編集しようとしている様子です。チェックON/OFFの違いが分かるでしょうか。</p>
<p><img src="https://www.micss.biz/wp-content/uploads/2021/10/20211018_webclip-test-delete.jpg" alt="" width="320" class="alignnone" /><br /><span class="caption">(HOME画面を編集しようとしても、削除許可チェックがOFFだと &#8211; マークが現れない)</span></p>
<p>Webクリップを削除されたくない場合は、このチェックをOFFにすると良いです。ただ、構成プロファイルそのものを削除されると根こそぎ消えますので注意が必要です。それも制限したい場合は、「一般」の設定で以下のように構成プロファイルの削除制限をかけて下さい。</p>
<p><img src="https://www.micss.biz/wp-content/uploads/2021/10/20211018_ac2-webclip-general-security.jpg" alt="" width="600" class="alignnone" /><br /><span class="caption">(管理者以外は構成プロファイルを削除できなくなる。つまり従業員はWebクリップを消せなくなる)</span></p>
<p id="04">&nbsp;</p>
<h3>4. アイコン</h3>
<p>HOME画面に表示するアイコン画像ファイルを指定します。</p>
<p><img src="https://www.micss.biz/wp-content/uploads/2021/10/20211018_webclip-conf04-icon.jpg" alt="" width="400" class="alignnone" /></p>
<p>画面上のアイコン枠にFinderから画像ファイルをドラッグ&#038;ドロップしてもokです。</p>
<p>Webクリップでは、ネイティブアプリと違って大きな解像度のアイコン画像を必要としません。以下の解像度以上の画像を用意すれば十分です。</p>
<table class="table" style="width:300px;">
<thead>
<tr>
<th>対象</th>
<th>解像度(px x px)</th>
</tr>
</thead>
<tbody>
<tr>
<th>iPhone</th>
<td>114 x 114</td>
</tr>
<tr>
<th>iPad</th>
<td>144 x 144</td>
</tr>
</tbody>
</table>
<p>ただ、大きければ良いというわけではなく、Appleは <strong>400 x 400 以下で1MB未満</strong> にすることを<a href="https://support.apple.com/ja-jp/guide/mdm/mdmbc7c7808/web" rel="noopener" target="_blank">推奨しています</a>。対応画像フォーマットは <strong>PNG, JPEG, GIF</strong> の3種類。アニメーションGIFにしてもアニメーションはしません。また、PNG形式の透明ピクセル指定は評価されず自動で白色ピクセルに置き換わります。</p>
<p>なお、アイコン画像が指定されていない場合は下図のようなアイコンになります。</p>
<p><img src="https://www.micss.biz/wp-content/uploads/2021/10/20211018_webclip-test-icon.jpg" alt="" width="400" class="alignnone" /></p>
<p>&nbsp;</p>
<p>ここまでWebクリップの作り方と、その設定項目8つのうち4つを紹介してきました。だいぶ長くなってきましたので残り4つは<a href="/2021/10/25/4678/">後編</a>で解説します。</p>
]]></content:encoded>
			</item>
		<item>
		<title>Webクリップとは何か(1) -Webサイトのブックマークを配布する-</title>
		<link>https://www.micss.biz/2021/10/04/4461/</link>
		<pubDate>Sun, 03 Oct 2021 22:00:45 +0000</pubDate>
		<dc:creator><![CDATA[OishiYuichi]]></dc:creator>
				<category><![CDATA[Webクリップ]]></category>

		<guid isPermaLink="false">https://www.micss.biz/?p=4461</guid>
		<description><![CDATA[よく知られているように、iOSのsafariでは任意ページのブックマークをホーム画面にアイコンとして登録することができます。 (Safariで表示中のページをブックマークしようとしている様子) ページのhtml内に適切な [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>よく知られているように、iOSのsafariでは任意ページのブックマークをホーム画面にアイコンとして登録することができます。</p>
<p><img src="https://www.micss.biz/wp-content/uploads/2021/10/20211004_bookmark.jpg" alt="" width="320" class="alignnone" /><br /><span class="caption">(Safariで表示中のページをブックマークしようとしている様子)</span></p>
<p>ページのhtml内に適切な画像ファイル指定がされていると、その画像をアイコンにしてホーム画面上にアプリのように表示されます。</p>
<p><img src="https://www.micss.biz/wp-content/uploads/2021/10/20211004_webclip_micss.jpg" alt="" width="320" class="alignnone" /><br /><span class="caption">(ブックマークがアプリのように表示される。html側の公式仕様は <a href="https://developer.apple.com/library/archive/documentation/AppleApplications/Reference/SafariWebContent/ConfiguringWebApplications/ConfiguringWebApplications.html" rel="noopener" target="_blank">Configuring Web Applications</a> を参照)</span></p>
<p>もし社内ポータルやブラウザで動作する業務システムがあるなら、こういったブックマークを配布端末のホーム画面上に置けたら便利ですよね。従業員にはアプリのようにワンタップでアクセスして貰えるわけですから。</p>
<p>とはいえ、まさか何百何千台という数の端末で、ブックマーク登録作業を行うわけにはいきません。Appleもそこはきちんと考えていて、ブックマークの社内展開を容易にするための <strong>Webクリップ</strong> なる仕組みを用意してくれています。</p>
<p>本稿ではそのWebクリップの概要を紹介します。</p>
<p>&nbsp;</p>
<h3>Webクリップとは</h3>
<p>Webクリップは、iOS4の時代から提供されているエンタープライズ向けのブックマーク配布機能です。冒頭で紹介した、Safariのブックマーク機能とは少し違っていて、業務利用で都合の良い仕組みになってます。</p>
<p>Webクリップを組織内で使うのに最低限必要なのは、<strong>URL</strong>と<strong>ホーム画面で表示したい情報(ラベル)</strong>のみ。その2つの情報を含む構成プロファイルを作ってiOS端末に流し込むだけです。(参考 : <a href="https://www.micss.biz/2020/05/18/1745/">構成プロファイルとは</a>)</p>
<p><img src="https://www.micss.biz/wp-content/uploads/2021/10/20211004_webclip_ac2.jpg" alt="" width="500" class="alignnone" /><br /><span class="caption">(Apple Configurator2 を使ってWebクリップを作成している様子)</span></p>
<p>iOS端末に対しては、以下のような方法で流し込む(インストールする)ことになります。</p>
<ul>
<li>MDMから配信</li>
<li>Apple Configurator2 でUSB転送</li>
<li>メール添付で送る</li>
<li>社内WebサイトにアップロードしてそのリンクURLを配布する</li>
</ul>
<p>管理し易さの観点で、MDM か Apple Configurator2 経由(監視モード端末) のいずれかが賢明です。なお後述するWebクリップのオプション機能を活用したいならMDM一択となります。</p>
<p>配布方法はどうあれ、Safari標準機能がWebサイト側に仕様に準じた記述が必要である(つまりWebサイト側に特別なhtml記述が必要である)のに対して、Webクリップは<strong>Webサイト側に一切手を加える必要がありません</strong>。</p>
<p>既にあるURLをどう表示したいか振る舞わせたいか、を勝手に定義するだけです。しかもネイティブアプリと同様に一方的に強制配信でき、管理側には都合の良い仕組みになっています。</p>
<p>&nbsp;</p>
<h3>Webクリップで指定できること</h3>
<p>Webクリップは言うなれば、Webサイトをどのように表示させたいか、またどのように振る舞わさせたいか、を定義したメタ情報です。</p>
<p>前述の通りアイコンとラベル(ホーム画面上での名称)が必要ですが、それ以外の便利な設定項目が幾つか用意されています。</p>
<table class="table">
<thead>
<tr>
<th>項目名</th>
<th>必須</th>
<th>説明</th>
</tr>
</thead>
<tbody>
<tr>
<th>ラベル</th>
<td>○</td>
<td>ホーム画面上で表示する名称</td>
</tr>
<tr>
<th>URL</th>
<td>○</td>
<td>Webクリップをタップした時に表示されるURL。httpかhttpsが推奨される。<strong>URLスキームは2021年現在推奨されていない</strong></td>
</tr>
<tr>
<th>削除を許可</th>
<td>&nbsp;</td>
<td>Webクリップを削除させることを許すかどうか。OFFにすると削除できなくなる</td>
</tr>
<tr>
<th>アイコン</th>
<td>&nbsp;</td>
<td>ホーム画面上で表示するアイコン画像</td>
</tr>
<tr>
<th>作成済みアイコン</th>
<td>&nbsp;</td>
<td>フラットデザインになる前のアイコンの「テカり」効果を適用するかどうか。ONなら適用しない</td>
</tr>
<tr>
<th>フルスクリーン</th>
<td>&nbsp;</td>
<td>表示する際にブラウザのアドレスバーやツールバーを表示するかどうか。ONなら表示しない</td>
</tr>
<tr>
<th>マニフェストの範囲を無視</th>
<td>&nbsp;</td>
<td>外部サイトにジャンプしてもフルスクリーン状態を維持するかどうか</td>
</tr>
<tr>
<th>対象のApp</th>
<td>&nbsp;</td>
<td>URLを開く時に使用するアプリをBundleIDで指定する</td>
</tr>
</tbody>
</table>
<p>ラベルとURL以外は、必要に応じて構成プロファイルに定義していきます。上の表を見るとそれなりに細かいところまで制御できる気がしますね。特に管理部門の方にとっては、「削除を許可」は嬉しいオプションではないでしょうか。</p>
<p>Webクリップにもたせることのできる情報については、Apple がドキュメントを公開していますので、<a href="https://developer.apple.com/documentation/devicemanagement/webclip" rel="noopener" target="_blank">Device Management Profile > WebClip</a> のページを確認すると良いでしょう。</p>
<p>&nbsp;</p>
<p>以上、簡単ですがWebクリップについて解説しました。簡単にまとめると、</p>
<ul>
<li>Webサイトをブックマークとして端末のホーム画面上に配備できる機能</li>
<li>構成プロファイルとして定義して、MDMやAppleConfigurator2から端末に配布する</li>
<li>Webクリップには見た目や振る舞いを制御する設定情報を付加させられる</li>
</ul>
<p>ということでした。特定のWebサイトを業務用途で使用している場合には、Webクリップの活用を検討すると良いでしょう。</p>
<p>&nbsp;</p>
<h3>関連情報</h3>
<p>Webクリップの作り方を以下で詳細に解説していますので併せてご覧下さい。</p>
<ul>
<li><a href="https://www.micss.biz/2021/10/18/4552/">Webクリップの作り方と各設定値を徹底解説 [前編] -Webクリップとは何か(2)-</a></li>
<li><a href="https://www.micss.biz/2021/10/25/4678/">Webクリップの作り方と各設定値を徹底解説 [後編] -Webクリップとは何か(3)-</a></li>
</ul>
<p>Webクリップを活用した業務アプリ配信については以下も参考にして下さい。</p>
<ul>
<li><a href="https://www.micss.biz/2022/01/10/4968/">業務用WebシステムのiOS用クライアントアプリ開発は本当に必要か？を考える (前編)</a></li>
<li><a href="https://www.micss.biz/2022/01/24/5011/">業務用WebシステムのiOS用クライアントアプリ開発は本当に必要か？を考える (後編)</a></li>
</ul>
<p>&nbsp;</p>
]]></content:encoded>
			</item>
	</channel>
</rss>
