web-dev-qa-db-ja.com

iOSでカスタムURLスキームを使用するために「URL ID」(CFBundleURLName)plistフィールドが必要なのはなぜですか?

このWebリンクがデバイスでタップされたときに、カスタムURLスキームを使用してiOSアプリを開きます: Demo77:// someurl

それを設定するために、Demo77URLスキームにアイテムとして追加しました(CFBundleURLSchemes)Info.plistの配列。

Appleのドキュメント は、Info.plistにURL識別子(CFBundleURLName)文字列キーも含める必要があると言っています。このキーには、「URLスキームの抽象的な名前」が含まれています。

私はではなくURL識別子キーを含めましたが、リンクはまだ開いていますアプリ。すべてがURL識別子なしで機能します。

質問:plistにURL識別子キーを本当に含める必要がありますか?もしそうなら-なぜですか?

enter image description here

更新

この質問は RL識別子とURLスキーム とは異なります。ここでは、「URL識別子」キーの用途を尋ねられます。私はそれが何のために使われるのか尋ねていません。 「URL識別子」を使用する必要があるかどうかを尋ねています。私のアプリのURLスキームは、それなしでも完全に機能します。 RL識別子とURLスキーム 質問への回答は、私の質問にはまったく対応していません。私の最初の質問が十分に明確でなかった場合は申し訳ありません。

28
Evgenii

Apple docs によると

スキームで提供する識別子同じスキームのサポートを宣言している他のアプリとアプリを区別します

逆DNS文字列の使用はベストプラクティスですが、他のアプリが同じスキームを登録して関連するリンクを処理することを妨げるものではありません。カスタムURLスキームではなくユニバーサルリンクを使用して、Webサイトに一意に関連付けられているリンクを定義します。

したがって、あなたの質問に答えるためにURL識別子を追加してもほとんど変わりませんが、それはAppleによって指定されているので、それを含めるのが最善です。

3
Tibin Thomas