6
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

[翻訳] iOS 14 標準Webブラウザ対応

Last updated at Posted at 2020-08-04

Preparing Your App to be the Default Browser or Email Client から標準Webブラウザ対応の部分を訳しました。
(2020/08/05 時点のものです)

訳や解釈に問題があったら教えて下さい。


アプリを標準Webブラウザにする設定

iOS 14以降、アプリを標準Webブラウザとして機能させるにはcom.apple.developer.web-browser managed entitlementが必要になる。これはAppleにメール( default-browser-requests@apple.com )を送り、許可を得ることで使えるようになる。

必ず満たさなければならない要件

  • HTTPHTTPSのschemeをInfo.plistファイルに記述する。
  • UIWebViewの使用はできない。
  • アプリ起動時にURLを入力するためのテキストフィールド、インターネット上の関連リンクを見つけるための検索ツール、もしくはキュレートされたブックマークリストを提供する。

HTTPやHTTPSリンクを開くとき

  • アプリは指定されたWebページを必ず直接開き、期待されたWebコンテンツを表示する。予期せぬ場所へリダイレクトしたり、本来のソースコードに指定されていないコンテンツを表示するアプリは、標準Webブラウザの要件を満たしていない。
  • パレンタルコントロールやロックダウンモードのあるアプリは、その目的を遵守するために開くWebページを制限してもよい。
  • フィッシングや、その他の問題が疑われるコンテンツに対して、セーフブラウジングや他の警告を表示してもよい。
  • Webサイトに固有のログイン方法があったとしても、アプリ固有の認証UIを表示してもよい。

補足
ロックダウンモードは、ある目的を実行するために1つもしくは複数のWebサイトのみアクセスを許可するもの。テストやクイズなどで使われる。
セーフブラウジングは、リンクを開く前に、Google Safe BrowsingやTencent Safe Browsingなどのサービスで危険性がないかを調べて、問題があった場合に警告を表示するもの。

標準ブラウザの機能

com.apple.developer.web-browser managed entitlement を使うアプリは以下のことが可能になる。

  • 標準Webブラウザとしてユーザーが選べる。
  • すべてのドメインからページを読み込め、フルスクリプトアクセスができる。
  • WKWebViewでService Workersが使える。

ブラウザの制限の遵守

com.apple.developer.web-browser managed entitlementを持つアプリは、特定のドメインに対して、そのアプリのUniversal Linksであると主張して反応してはいけない。システムはそのような主張を無視する。Universal Linksとして他のアプリを開くことは通常通り可能である。

ブラウザアプリはユーザーのWebブラウジングとして特権的な位置にあるため、個人データへの不必要なアクセスを避ける必要がある。com.apple.developer.web-browser managed entitlementを持つアプリで、Info.plistファイルに以下のキーを使っている場合は審査でリジェクトされる。


PR: iOS 14向けに個人開発のWebブラウザアプリ(6年目)を標準Webブラウザにできるよう、がんばっています!

6
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?