У меня есть приложение EXPO, и я пытаюсь войти в него по внешним ссылкам (универсальные/глубинные ссылки), используя приложение, созданное с помощью EAS для разработки, установленное на симуляторе IOS (IOS 14.4), Android работает. и работает отлично, а IOS не работает. файл app.json настраивается, как описано здесь:
"associatedDomains": [
"applinks:app.DOMAIN_NAME.com",
"applinks:app.DOMAIN_NAME.com?mode=developer"
]
И я включил службу связанных доменов для своего идентификатора.
Мой файл /.well-known/apple-app-site-association:
{
"applinks": {
"details": [
{
"appIDs": [
"B3PLCR5ZP2.dz.appname.app"
],
"components": [
{
"/": "*",
"comment": "Matches all routes"
}
]
},
{
"appID": "B3PLCR5ZP2.dz.appname.app",
"paths": [ "*"]
}
]
},
"activitycontinuation": {
"apps": [
"B3PLCR5ZP2.dz.appname.app"
]
},
"webcredentials": {
"apps": [
"B3PLCR5ZP2.dz.appname.app"
]
}
}
Валидатор AASA в порядке, но внешние ссылки по-прежнему не открывают собственное приложение! Что делать?!
Проблема в том, что Expo устанавливает для «TeamIdentifier» значение «none» (TeamIdentifier = None) при разработке, поэтому мой идентификатор приложения теперь такой: "application-identifier" = "FAKETEAMID.dz.appname.app";
Изображение журналов симулятора iOS
Поэтому, чтобы универсальные ссылки работали в симуляторе iOS, мне пришлось обновить файл /.well-known/apple-app-site-association, чтобы:
{
"applinks": {
"details": [
{
"appIDs": [
"B3PLCR5ZP2.dz.appname.app", "FAKETEAMID.dz.appname.app"
],
"components": [
{
"/": "*",
"comment": "Matches all routes"
}
]
},
{
"appID": "B3PLCR5ZP2.dz.appname.app",
"paths": [ "*"]
},
{
"appID": "FAKETEAMID.dz.appname.app",
"paths": [ "*"]
}
]
}
}
Теперь все работает идеально!