背景開きます:生産(App Storeは)私は現在、我々の開発にユニバーサルリンクを実装していますがを構築 ユニバーサルリンク間違ったバンドルID
- 我々のアプリを開発するために別のバンドルIDを使用していますApp Storeで現在
- 当社の生産ビルドは、ユニバーサルリンク に
をサポートしていない私だけではなく、私のユニバーサルリンクが開かれていないこのクレイジーな問題が発生していますアプリの開発版では、生産版にはがなくても、代わりにプロダクション版がリリースされています。
私apple-app-site-association
ファイルがhttps://branch.io/resources/universal-links/とhttps://search.developer.apple.com/appsearch-validation-tool/の両方を使用して検証し、そのように見えるされています
{
"applinks": {
"apps": [],
"details": [
{
"appID": "DY74R9XXXX.com.myapp.consumer.debug",
"paths": [ "/profiles/*", "/messages/*"]
},
{
"appID": "DY74R9XXXX.com.myapp.consumer",
"paths": [ "/profiles/*", "/messages/*"]
}
]
}
}
https://developer.apple.com/library/ios/documentation/General/Conceptual/AppSearch/UniversalLinks.htmlによるとdetails
配列は順番に評価されるべきであるとの一致を検出した後に停止します。
意図は同じユニバーサルリンクは私のチームの誰のための開発版にロードして、自分の携帯電話に.debug
パッケージを持っていないエンドユーザーの生産バージョンにすることです。
生産バージョンにapple-app-site-association
ファイルを指し示す資格がapplinks:dev.myserver.com
ではないにもかかわらず、これが機能しないだけでなく、前述したように、ユニバーサルリンクは常に本稼働バージョンを読み込みます。これは狂っているようですが、公開していない任意のパッケージを起動でき、エンタイトルメントファイルが強制されていないことを意味します。
さらに、details
アレイから2番目のエントリを削除して、デバッグバージョン用の辞書のみを残すと、ユニバーサルリンクが機能しなくなり、代わりにSafariが開きます。配列の順序を変更しても効果はありません。私は9.3と9.3.1の両方でiPhone 6sでこの動作を経験しました。この2つのiss(アドバイスが間違ったパッケージを起動し、それが唯一のエントリであるときにデバッグパッケージを起動しない)に関するアドバイスは大歓迎です!第3レベルで別の何かに私のバンドルIDを変更した後、アレックス・バウアーの提案ごとに、私がすることができた
:
オリジナル回答以下の更新解像度 -
このように奇妙なことに、iOSは、DY74R9XXXX.myapp.consumer.debugとDY74R9XXXX.myapp.consumer間のエンタイトルメントを何らかの形で組み合わせているように思えます。これは間違いなくどこにも記載されていません。デバッグビルドのバンドルIDを明白に異なるものに変更してみてください。 –
@AlexBauer類似点のためにエンタイトルメントが混乱していると思われますが、これは1つの詳細エントリだけではうまくいかない理由を説明しません。しかし、あなたの提案に基づいてバンドルIDを 'com.myapp.dev'に変更しました。私は 'com.myapp.dev.dev'に変更しました。これはwel(私は4つのレベル識別子と典型的な3つのバグを心配していました)として働いていました。次のステップの提案はありますか? – emkman
'apple-app-site-association'ファイルは、アプリケーションのインストール時にのみ取得されます。これが実際にキャッシングの問題だとすると、きれいなテストを得るたびに*両方の* appビルドを削除しなければならないと思います。そのうちの1つだけを削除して再インストールしていたのであれば、そのような問題がどのように残っているのか分かりました。 –