2017-12-20 7 views
5

AppApp Stage 두 가지 빌드 구성이 있습니다.iOS Associated Domains - 하위 도메인이 무시 된 것 같습니다.

각각의 구성은 다른 구성 Associated Domains 갖는다 : app.mydomain.comapp-stage.mydomain.com. 물론

는, 각 웹 사이트는 다른 apple-app-site-association 파일 노출 : app.mydomain.com/apple-app-site-associationapp-stage.mydomain.com/apple-app-site-association (HTTP 200 .json 확장자 없음 등).

문제는 첫 번째 등록 된 도메인 (불행히도 Stage 임) 만 제대로 작동하고 있다는 것입니다. 두 앱을 모두 설치하면 각각의 딥 링크 (, app.mydomain.com/homeapp-stage.mydomain.com/home)가 App Stage를 엽니 다. App Sage 만 설치하면 두 링크 모두 열립니다. 앱만 설치하면 링크가 작동하지 않습니다. Associated Domains의 하위 도메인이 무시되는 것 같습니다.mydomain.com 만 고려됩니다.

Facebook, Google 및 다른 사람들과 같은 다른 설정을 차별화하고 있기 때문에 빌드 구성이 올바르게 정의되어 있다고 가정합니다.

비슷한 문제가 발생 했습니까? Associated Domains 사용을 위해 동일한 도메인의 다른 하위 도메인을 사용할 수 있습니까?

UPDATE :

에 따라 @의 clayjones94 지침, I는 각 응용 프로그램은 찰스 프록시를 사용하여 올바른 JSON 파일을 다운로드 여부를 확인. App Stage가 올바른 파일을 가져 오는 동안 App이 파일을 가져 오지 않는 것을 알았습니다.

나는 또한 찰스 app-stage.mydomain.com/apple-app-site-association HTTP 요청에서 URL을 편집 한

가 있는지 확인하기 app.mydomain.com/apple-app-site-association은 올바른 JSON을 반환합니다. URL에서 -stage을 제거하고 호출을 반복하면서 다른 JSON 파일을 가져 왔으므로 두 구성 모두 백엔드가 올바르게 작동하는지 확인했습니다.

처음에는 빌드 구성이 잘못되었다고 생각했습니다. 그래서 App의 applinks:app.mydomain.com 관련 도메인을 Stage의 applinks:app-stage.mydomain.com으로 대체하여 앱 구성이 App Stage 파일을 가져올 수 있는지 확인하기로 결정했습니다. 작동하여 App이 App Stage의 JSON 파일을 다운로드했습니다. 다시 Associated Domains의 하위 도메인은 무시되고으로 처음 등록 된 하위 도메인 만 고려됩니다.

+0

서버에서 액세스 로그를보고 요청한 것을 볼 수 있습니까? 'mydomain.com/apple-app-site-association'이 서비스를 제공합니까? –

+0

예, 성공 (HTTP 200)으로 가져올 수 있으며 stage 하위 도메인 인'apple-app-site-association' 파일과 거의 비슷하게 보입니다. 번들 식별자 만 다릅니다 (두 앱 모두 같은 팀에 있습니다). – KlimczakM

답변

0

유니버설 링크 (앱 도메인)의 경우 도메인 & 하위 도메인 개념과 비슷한 점은 없습니다. apple-site-association-file 구성에 문제가있는 것으로 생각됩니다.

appID 필드와 관련된 apple-site-association-configurations을 확인하십시오. 두 파일 모두에 동일한 appID를 배치했을 것입니다.

두 가지 구성에 대해 다른 appID가 있어야합니다.

+0

답장을 보내 주셔서 감사합니다. 'app-app-site-association' 파일은 Stage app appID 항목과 다릅니다 : ""appID ":"3U ****** 2D.de.k **** a.app-stage "', App appID entry :' "appID": "3U ****** 2D.de.k **** a.app"'. iOS11에 침묵하는 알림이있는 것처럼 iOS 버그가 아니길 바랍니다. – KlimczakM

+0

다른 관련 도메인이 있습니까? –

+0

아니요, 이것은 유일한 것입니다. – KlimczakM

1

Apple App Site Association 파일을 가져올 때 OS가 둘 다 별도로 작동해야합니다. 이전 AASA 파일이 캐시되지 않도록 두 앱을 모두 삭제하고 휴대 전화를 다시 시작하는 것이 좋습니다.

휴대 전화에 앱을 다시 설치하려면 Charles 프록시를 사용하여 각 설치가 올바른 AASA 파일을 가져 오는지 확인할 수 있습니다. 연결된 도메인에 두 URL이 모두 있기 때문에 각 설치가 두 AASA 파일을 모두 푸시합니다. 프로덕션 앱이 둘 다 작동하지 않는다면 Apple issue 일 수 있으며 앱을 삭제하고 다시 시도하면됩니다.

각 앱에 대해 두 AASA 파일이 모두 풀렸다는 것을 확인한 경우 appID가 올바른 것으로 확인해야합니다. 두 앱 모두 연결된 도메인과 올바른 appID가있는 두 AASA 파일이 모두있을 때 OS는 링크에 따라 올바른 앱을 열어야합니다. 그래도 작동하지 않는다면 AASA 파일은 스테이징 응용 프로그램과 관련된 자격으로 서명되었지만 프로덕션 응용 프로그램에서는 서명되지 않았을 수 있습니다.

보편적 인 연결에 Branch을 사용하는 것이 좋습니다. 지점에는 테스트 응용 프로그램에 대한 링크를 테스트하는 데 사용할 수있는 테스트 링크가 있으며 지점에 별도의 응용 프로그램을 만들어 스테이징 응용 프로그램을 만들 수 있어야하므로 두 가지 링크가 서로 다릅니다. 좋은 점은 우리가 AASA 취급과 서명을 모두 다할 것입니다. 딥 링크 서비스는 무료이며 우리는 지연된 딥 링크를 수행합니다 :).

+0

답장을 보내 주셔서 감사합니다. Charles가 각 응용 프로그램이 적절한 파일을 다운로드하고 있는지 확인하기 위해 App Stage가 올바른 파일을 다운로드하는 동안 App이 AASA 파일을 다운로드하지 않는다는 것을 알았습니다! 이제 그 이유를 조사하고 있습니다. – KlimczakM

+0

업데이트 된 질문을 확인하십시오. App Stage 관련 도메인을 App에 사용했을 때 (Xcode의 도메인에'-stage'가 추가됨), App은 App Stage JSON 파일을 다운로드했습니다 (이전에는 아무것도 가져 오지 않았 음). – KlimczakM

+0

흠.이 경우가 아니어야합니다. 지점 응용 프로그램은 실제로 두 개의 다른 하위 도메인에서 AASA 파일을 가져옵니다. 우리는 모든 앱에 대해'-stage'와 비슷한'-alternate'를 가지고 있습니다. 대체 도메인은 사용자가 원래 하위 도메인에 있고 앱에 딥 링크하고 싶을 때 사용됩니다 (Apple이 사용자가 해당 도메인에있는 경우 Universal Links가 기본 앱으로 이동하지 못하도록 제한합니다). 테스트 애플 리케이션 AASA (http://q1hv.app.link/apple-app-site-association) 및 대체 AASA (http://q1hv-alternate.app.link/apple-app-site-association)를보십시오. 그것은 당신이 응용 프로그램의 AASA 파일이 올바르게 호스팅되지 않은 것 같습니다. – clayjones94

관련 문제