だから私の新しいアプリのために、人々が私のアプリを別のアプリやウェブサイトから起動できるようにURLスキームを持っています... "myapp://" ... AppStoreに別のアプリがあるとどうなりますか私と同じ URL スキームを持っていますか? または、誰かが私の URL スキームを盗もうとした場合は?
4 に答える
2 つのアプリが同じカスタム URL スキームを登録する場合、どちらのアプリが実際に起動されるかは未定義です。1つは起動されますが、知る方法はありません。
これが本当のキッカーです。デバイスに同じ URL スキームを持つ 2 つのアプリがあり、実際に起動されるアプリを削除すると、iOS デバイスを再起動しない限り、他のアプリは URL によって起動されません。
最善の解決策は、カスタム URL スキームが簡単ではないことを確認して、別のアプリが同じスキームを持つ可能性がほとんどないようにすることです。
アップルのドキュメントによると:
複数のサードパーティ アプリケーションが同じ URL スキームを処理するために登録されている場合、そのタイプの URL を処理するためにどのアプリケーションが選択されるかは未定義です。
8年連続でAppleドキュメントからの正確な引用:
注: 同じ URL スキームを処理するために複数のサードパーティ アプリが登録されている場合、そのスキームをどのアプリに割り当てるかを決定するプロセスは現在のところありません。
ソース:
- 他のアプリとの通信 ( 2011 年 12 月のアーカイブ)
- カスタム URL スキームの実装 ( 2019 年 5 月のアーカイブ)
2019 年 9 月の時点で、ドキュメントのこの部分は Apple の Web サイトから削除されました。最も近い関連ドキュメントは、Register Your URL Schemeです。
2016年更新
Apple のポリシーは 2012 年から変更されています。現在、複数のアプリを同じスキームに登録することは許可されていません。登録時間は、他の回答で説明されているセキュリティの問題を回避するため、実行時よりも競合に対処するためのはるかにクリーンな場所です。
注: 同じ URL スキームを処理するために複数のサードパーティ アプリが登録されている場合、そのスキームをどのアプリに割り当てるかを決定するプロセスは現在のところありません。