내 응용 프로그램에 범용 링크를 구현했지만 이유가있어서 AASA 파일이 현재 서버에 업로드되지 않습니다.Apple 앱 사이트 연결 (AASA)없이 iOS Universal Links/Deep Links를 테스트 할 수 있습니까?
답변
아니요, 번들 ID와 팀 ID가있는 서버에 "apple-app-site-association"을 업로드해야합니다. 그것 없이는 테스트를 할 수 없습니다. 또한 다른 사람의 "apple-app-site-association"파일을 사용하여 팀 ID와 번들 ID가 다르기 때문에 테스트를 할 수 없습니다.
테스트 목적으로 heroku 서버에 AASA 파일을 업로드 할 수 있습니다.
heroku 서버에 AASA 파일을 업로드하여 딥 링크를 테스트 할 수있는 방법을 제안 해주세요. –
나는 무료 노드 서버를 만들고 루트에 내 AASA 파일을 보관했습니다. 이 유효성 검사기 "https://limitless-sierra-4673.herokuapp.com"을 사용하여 서버를 테스트 할 수 있습니다. 서버는 처음 다섯 명의 유효성 검사기를 전달해야합니다. 나는 샘플을 위해 아래 URL을 붙였다. https://spooky-spell-19694.herokuapp.com/apple-app-site-association xcode의 연결된 domian에 기본 URL (https://spooky-spell-19694.herokuapp.com)을 추가하십시오. 응용 프로그램 대리인을 통해 URL을 처리하여 모든 URL을 테스트하십시오. –
예, 실제로 할 수 있습니다!
당신은 실제로 터미널에서이 함수를 호출하여 원격 측을 구현하지 않고 당신에게 딥 링크에 응용 프로그램의 응답을 테스트 할 수 있습니다
$ xcrun simctl openurl booted 'YOUR_LINK_HERE'
이 앱의 AppDelegate에에 다음 콜백을 트리거 :
func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any]) -> Bool
을
... 딥 링크에서 예상되는 동작입니다.
단지 실제로 보편적 링크로
;-) 시뮬레이터를 가지고하는 것을 잊지 않음 - AppDelegate에 콜백는 약간 다른,하지만 아주 작은 정신적 도약 : 당신은 할 수
func application(_ app: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([Any]?) -> Void) -> Bool {
if userActivity.activityType == NSUserActivityTypeBrowsingWeb {
if let url = userActivity.webpageURL {
// parse the url and decide how to handle the universal link
}
}
return true
}
AASA를 다른 서버에 업로드하고 테스트 해보십시오. 최소한 앱이 올바르게 구성되었다는 확인 메시지가 표시됩니다. –