Почему не работают универсальные ссылки, даже если они утверждены Apple?
При проверке файла ассоциации сайта приложения Apple я получаю информацию об основном домене и поддоменах
и, конечно, имеют права включены и добавлены
Я переустанавливаю приложение всякий раз, когда хочу протестировать на устройстве, чтобы загрузить новую версию файла, установленного на устройстве... и удаляю старое приложение перед установкой из XCode.
{
"applinks":
{
"apps": [],
"details": [
{
"appID": "TeamID.AppID",
"paths": [ "*" ]
}
]
},
"activitycontinuation":
{
"apps": ["TeamID.AppID"]
}
}
но проблема просто в том, что, когда я нажимаю на ссылки из HTML, который я размещал в Интернете, он открывается в сафари, а не в приложении!!
PS: это потому что у меня нет https для сайта? это работает только на http...
Вывод на консоль iOS, отфильтрованный по ключевому слову swcd, а имя сайта заменено на mySiteName
Mar 5 20:05:56 DevaEldeen swcd(CoreUtils)[184] <Notice>: Get info for service 'applinks', app ID '<<NULL>>', domain 'www.je...'
Mar 5 20:05:56 DevaEldeen swcd(CoreUtils)[184] <Notice>: Get info for service 'activitycontinuation', app ID '<<NULL>>', domain 'www.je...'
Mar 5 20:06:00 DevaEldeen swcd(CoreUtils)[184] <Notice>: Get info for service 'applinks', app ID '<<NULL>>', domain 'm.je...'
Mar 5 20:06:00 DevaEldeen swcd(CoreUtils)[184] <Notice>: Immediate retry for domain 'm.je...'
Mar 5 20:06:00 DevaEldeen swcd(CoreUtils)[184] <Notice>: Started request for domain 'm.mySiteName.com', URL 'https://m.mySiteName.com/.well-known/apple-app-site-association'
Mar 5 20:06:00 DevaEldeen swcd(CFNetwork)[184] <Notice>: TIC TCP Conn Start [99:0x17e57310]
Mar 5 20:06:00 DevaEldeen swcd(libsystem_network.dylib)[184] <Info>: nw_endpoint_handler_start [99 m.mySiteName.com:443 initial path (null)]
Mar 5 20:06:00 DevaEldeen swcd(libsystem_network.dylib)[184] <Info>: nw_connection_endpoint_report [99 m.mySiteName.com:443 initial path (null)] reported event path:start
Mar 5 20:06:00 DevaEldeen swcd(libsystem_network.dylib)[184] <Info>: nw_connection_endpoint_report [99 m.mySiteName.com:443 waiting path (satisfied)] reported event path:satisfied
Mar 5 20:06:00 DevaEldeen swcd(libsystem_network.dylib)[184] <Info>: nw_connection_endpoint_report [99 m.mySiteName.com:443 waiting path (satisfied)] skipping state update
Mar 5 20:06:00 DevaEldeen swcd(libsystem_network.dylib)[184] <Info>: nw_connection_endpoint_report [99 m.mySiteName.com:443 in_progress resolver (satisfied)] reported event resolver:start_dns
Mar 5 20:06:00 DevaEldeen mDNSResponder[85] <Info>: 15: DNSServiceCreateConnection START PID[184](swcd)
Mar 5 20:06:00 DevaEldeen mDNSResponder[85] <Info>: 15: DNSServiceGetAddrInfo(4000D000, 0, 3, m.mySiteName.com.) START PID[184](swcd)
Mar 5 20:06:00 DevaEldeen mDNSResponder[85] <Info>: 15: DNSServiceCreateConnection STOP PID[184](swcd)
Mar 5 20:06:00 DevaEldeen mDNSResponder[85] <Info>: 15: DNSServiceGetAddrInfo(m.mySiteName.com.) STOP PID[184](swcd)
Mar 5 20:06:00 DevaEldeen swcd(libsystem_network.dylib)[184] <Info>: nw_endpoint_resolver_update [99 m.mySiteName.com:443 in_progress resolver (satisfied)] Adding endpoint handler for 104.25.215.11:443
Mar 5 20:06:00 DevaEldeen swcd(libsystem_network.dylib)[184] <Info>: nw_endpoint_resolver_update [99 m.mySiteName.com:443 in_progress resolver (satisfied)] Adding endpoint handler for 104.25.214.11:443
Mar 5 20:06:00 DevaEldeen swcd(libsystem_network.dylib)[184] <Info>: nw_connection_endpoint_report [99 m.mySiteName.com:443 in_progress resolver (satisfied)] reported event resolver:receive_dns
Mar 5 20:06:00 DevaEldeen swcd(libsystem_network.dylib)[184] <Info>: nw_endpoint_resolver_start_next_child [99 m.mySiteName.com:443 in_progress resolver (satisfied)] starting child endpoint 104.25.215.11:443
Mar 5 20:06:00 DevaEldeen swcd(libsystem_network.dylib)[184] <Info>: nw_endpoint_resolver_start_next_child [99 m.mySiteName.com:443 in_progress resolver (satisfied)] starting next child endpoint in 316ms
Mar 5 20:06:00 DevaEldeen swcd(libsystem_network.dylib)[184] <Info>: nw_endpoint_handler_start [99.1 104.25.215.11:443 initial path (null)]
Mar 5 20:06:00 DevaEldeen swcd(libsystem_network.dylib)[184] <Info>: nw_connection_endpoint_report [99.1 104.25.215.11:443 initial path (null)] reported event path:start
Mar 5 20:06:00 DevaEldeen swcd(libsystem_network.dylib)[184] <Info>: nw_connection_endpoint_report [99.1 104.25.215.11:443 waiting path (satisfied)] reported event path:satisfied
Mar 5 20:06:00 DevaEldeen swcd(libsystem_network.dylib)[184] <Info>: nw_connection_endpoint_report [99.1 104.25.215.11:443 in_progress socket-flow (satisfied)] reported event flow:start_connect
Mar 5 20:06:00 DevaEldeen swcd(libsystem_network.dylib)[184] <Info>: nw_endpoint_flow_protocol_connected [99.1 104.25.215.11:443 in_progress socket-flow (satisfied)] Output protocol connected
Mar 5 20:06:00 DevaEldeen swcd(libsystem_network.dylib)[184] <Info>: nw_endpoint_flow_connected_path_change [99.1 104.25.215.11:443 ready socket-flow (satisfied)] Connected path is satisfied
Mar 5 20:06:00 DevaEldeen swcd(libsystem_network.dylib)[184] <Info>: nw_connection_endpoint_report [99.1 104.25.215.11:443 ready socket-flow (satisfied)] reported event flow:finish_connect
Mar 5 20:06:00 DevaEldeen swcd(libsystem_network.dylib)[184] <Info>: nw_connection_endpoint_report [99 m.mySiteName.com:443 ready resolver (satisfied)] reported event flow:finish_connect
Mar 5 20:06:00 DevaEldeen swcd(libsystem_network.dylib)[184] <Info>: nw_connection_endpoint_report [99.1 104.25.215.11:443 ready socket-flow (satisfied)] reported event flow:changed_viability
Mar 5 20:06:00 DevaEldeen swcd(libsystem_network.dylib)[184] <Info>: nw_connection_endpoint_report [99 m.mySiteName.com:443 ready resolver (satisfied)] reported event flow:changed_viability
Mar 5 20:06:00 DevaEldeen swcd(CFNetwork)[184] <Notice>: TIC TCP Conn Event [99:0x17e57310]: 1 Err(0)
Mar 5 20:06:00 DevaEldeen swcd(CFNetwork)[184] <Notice>: TIC TCP Conn Connected [99:0x17e57310]: Err(0)
Mar 5 20:06:00 DevaEldeen swcd(CFNetwork)[184] <Notice>: TIC Enabling TLS [99:0x17e57310]
Mar 5 20:06:00 DevaEldeen swcd(libsystem_network.dylib)[184] <Info>: nw_endpoint_start_tls_while_connected [99.1 104.25.215.11:443 ready socket-flow (satisfied)]
Mar 5 20:06:00 DevaEldeen swcd(libsystem_network.dylib)[184] <Info>: nw_connection_endpoint_report [99.1 104.25.215.11:443 in_progress socket-flow (satisfied)] reported event flow:start_secondary_connect
Mar 5 20:06:00 DevaEldeen swcd(libsystem_network.dylib)[184] <Info>: nw_connection_endpoint_report [99 m.mySiteName.com:443 in_progress resolver (satisfied)] reported event flow:start_secondary_connect
Mar 5 20:06:00 DevaEldeen swcd(libsystem_network.dylib)[184] <Info>: nw_connection_endpoint_report [99 m.mySiteName.com:443 in_progress resolver (satisfied)] reported event flow:start_connect
Mar 5 20:06:00 DevaEldeen swcd(libsystem_network.dylib)[184] <Info>: nw_endpoint_flow_protocol_connected [99.1 104.25.215.11:443 in_progress socket-flow (satisfied)] Transport protocol connected
Mar 5 20:06:00 DevaEldeen swcd(libsystem_network.dylib)[184] <Info>: nw_connection_endpoint_report [99.1 104.25.215.11:443 in_progress socket-flow (satisfied)] reported event flow:finish_transport
Mar 5 20:06:00 DevaEldeen swcd(libsystem_network.dylib)[184] <Info>: nw_connection_endpoint_report [99 m.mySiteName.com:443 in_progress resolver (satisfied)] reported event flow:finish_transport
Mar 5 20:06:00 DevaEldeen swcd(CFNetwork)[184] <Notice>: TIC TLS Event [99:0x17e57310]: 2, Pending(0)
Mar 5 20:06:00 DevaEldeen swcd(CFNetwork)[184] <Notice>: TIC TLS Event [99:0x17e57310]: 11, Pending(0)
Mar 5 20:06:00 DevaEldeen swcd(CFNetwork)[184] <Notice>: TIC TLS Event [99:0x17e57310]: 22, Pending(0)
Mar 5 20:06:00 DevaEldeen swcd(CFNetwork)[184] <Notice>: TIC TLS Event [99:0x17e57310]: 12, Pending(0)
Mar 5 20:06:00 DevaEldeen swcd(CFNetwork)[184] <Notice>: TIC TLS Event [99:0x17e57310]: 14, Pending(0)
Mar 5 20:06:01 DevaEldeen swcd(CoreUtils)[184] <Info>: Accepting URL 'https://m.mySiteName.com/.well-known/apple-app-site-association' trust
Mar 5 20:06:01 DevaEldeen swcd(CFNetwork)[184] <Notice>: TIC TLS Trust Result [99:0x17e57310]: 0
Mar 5 20:06:01 DevaEldeen swcd(CFNetwork)[184] <Notice>: TIC TLS Event [99:0x17e57310]: 20, Pending(0)
Mar 5 20:06:01 DevaEldeen swcd(libsystem_network.dylib)[184] <Info>: nw_endpoint_flow_protocol_connected [99.1 104.25.215.11:443 in_progress socket-flow (satisfied)] Output protocol connected
Mar 5 20:06:01 DevaEldeen swcd(libsystem_network.dylib)[184] <Info>: nw_endpoint_flow_connected_path_change [99.1 104.25.215.11:443 ready socket-flow (satisfied)] Connected path is satisfied
Mar 5 20:06:01 DevaEldeen swcd(libsystem_network.dylib)[184] <Info>: nw_connection_endpoint_report [99.1 104.25.215.11:443 ready socket-flow (satisfied)] reported event flow:finish_connect
Mar 5 20:06:01 DevaEldeen swcd(libsystem_network.dylib)[184] <Info>: nw_connection_endpoint_report [99 m.mySiteName.com:443 ready resolver (satisfied)] reported event flow:finish_connect
Mar 5 20:06:01 DevaEldeen swcd(CFNetwork)[184] <Notice>: TIC TCP Conn Event [99:0x17e57310]: 8 Err(0)
Mar 5 20:06:01 DevaEldeen swcd(CFNetwork)[184] <Notice>: TIC TLS Handshake Complete [99:0x17e57310]
Mar 5 20:06:01 DevaEldeen swcd(CoreUtils)[184] <Info>: Retrying non-well-known request for domain 'm.mySiteName.com', status -6768/0xFFFFE590 kSecurityRequiredErr
Mar 5 20:06:01 DevaEldeen swcd(CoreUtils)[184] <Notice>: Started request for domain 'm.mySiteName.com', URL 'https://m.mySiteName.com/apple-app-site-association'
Mar 5 20:06:01 DevaEldeen swcd(CoreUtils)[184] <Info>: Canceled URL 'https://m.mySiteName.com/.well-known/apple-app-site-association'
Mar 5 20:06:01 DevaEldeen swcd(CoreUtils)[184] <Notice>: ### Denying redirect 'https://m.mySiteName.com/apple-app-site-association' -> 'http://m.mySiteName.com/apple-app-site-association'
Mar 5 20:06:01 DevaEldeen swcd(CoreUtils)[184] <Notice>: Completing request for 'https://m.mySiteName.com/apple-app-site-association', status -6768/0xFFFFE590 kSecurityRequiredErr
Mar 5 20:06:01 DevaEldeen swcd(CoreUtils)[184] <Info>: Canceled URL 'https://m.mySiteName.com/apple-app-site-association'
Mar 5 20:06:01 DevaEldeen swcd(CoreUtils)[184] <Notice>: Closing URL session
Mar 5 20:06:01 DevaEldeen swcd(CoreUtils)[184] <Info>: Skipping scheduling retry of 'm.mySiteName.com' at retry limit (8 of 8)
Mar 5 20:06:01 DevaEldeen swcd(CoreUtils)[184] <Notice>: Retry needed for 'mySiteName.com' failure in 3h 12m 40s
Mar 5 20:06:01 DevaEldeen swcd(CoreUtils)[184] <Notice>: Scheduling recheck in 3h 12m 49s
Mar 5 20:06:01 DevaEldeen swcd(CFNetwork)[184] <Notice>: TIC TCP Conn Cancel [99:0x17e57310]
Mar 5 20:06:01 DevaEldeen swcd(CFNetwork)[184] <Notice>: TIC TCP Conn Destroyed [99:0x17e57310]
Mar 5 20:06:01 DevaEldeen swcd(libsystem_network.dylib)[184] <Info>: nw_endpoint_handler_cancel [99 m.mySiteName.com:443 ready resolver (satisfied)]
Mar 5 20:06:01 DevaEldeen swcd(libsystem_network.dylib)[184] <Info>: nw_endpoint_handler_cancel [99.1 104.25.215.11:443 ready socket-flow (satisfied)]
Mar 5 20:06:01 DevaEldeen swcd(libsystem_network.dylib)[184] <Notice>: __nw_socket_service_writes_block_invoke sendmsg(fd 4, 31 bytes): socket has been closed
Mar 5 20:06:01 DevaEldeen swcd(libsystem_network.dylib)[184] <Info>: nw_endpoint_flow_protocol_disconnected [99.1 104.25.215.11:443 cancelled socket-flow (null)] Output protocol disconnected
Mar 5 20:06:01 DevaEldeen swcd(libsystem_network.dylib)[184] <Info>: nw_endpoint_handler_cancel [99.2 104.25.214.11:443 initial path (null)]
1 ответ
Реальный ответ в этом случае заключается в том, что apple-app-site-association
файл должен быть доступен через HTTPS. Из Руководства по программированию поиска приложений:
НОТА
Если ваше приложение работает на iOS 9 или более поздней версии и вы используете HTTPS для обслуживания файла apple-app-site-association, вы можете создать простой текстовый файл, который использует тип MIME application / json, и вам не нужно его подписывать. Если вы поддерживаете Handoff и Shared Web Credentials в iOS 8, вам все равно нужно подписать файл, как описано в Справочнике по Shared Web Credentials.
Для iOS 8 вам нужно было подписать файл JSON, поэтому в таком случае было бы неплохо предлагать его через HTTP, так как он был проверен с помощью подписи. С более свежими версиями iOS его не нужно подписывать, и это здорово, но тогда нам нужен HTTPS для его защиты.
Оригинальный нерелевантный ответ:
Если вы уже в Safari, я верю, что он останется в Safari. Вы должны попробовать ссылку в другом приложении, таком как Notes. Кроме того, ваш телефон может быть настроен на постоянное посещение веб-сайта по этой ссылке. В этом случае вы снова можете долго нажимать на URL-адрес в Notes, и вам будет предложено открыть приложение или перейти в Интернет.