嗨,我知道之前有人问过这个问题,但我仍然无法弄清楚做错了什么。
- 在我们的服务器中添加了 apple-app-site-association 文件,位于https://ourserver.com/.well-known/apple-app-site-association
- 文件内容如下
`
{
"applinks":{
"apps":[],
"details":[
{
"appID":"<teamId>.<bundleId>",
"paths":[ "*", "/" ]
}
]
}
}
` 3. 关联域作为功能添加
applinks:servername.com
applinks:dev.servername.com
在 AppDeletegate.m 中添加代码
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options { return [RCTLinkingManager application:application openURL:url options:options]; } - (BOOL)application:(UIApplication *)application continueUserActivity:(nonnull NSUserActivity *)userActivity restorationHandler:(nonnull void (^)(NSArray<id<UIUserActivityRestoring>> * _Nullable))restorationHandler { return [RCTLinkingManager application:application continueUserActivity:userActivity restorationHandler:restorationHandler]; }
编辑 1
注意到我在 iOS 版本 12.4.2 iPhone 中尝试了通用链接并正确重定向。在 iOS 版本 14 中,它重定向到我们的网页。所以我更新了我的 apple-app-site-association 文件如下
{
"applinks": {
"details": [
{
"appIDs": [
"teamid.bundleid"
],
"components": [
{
"/": "/*",
"comment": "Matches any URL whose path starts with URL_PATH and instructs the system not to open it as a universal link"
},
{
"/": "*",
"comment": "Matches any URL whose path starts with URL_PATH and instructs the system not to open it as a universal link"
}
],
"paths": [
"*",
"/"
]
}
]
}
}
oru 网址已在此链接中验证
所有测试均在真实设备中完成。
编辑 2
以下所有内容均在模拟器中测试 - iPhone 11 Pro iOS 14.4
在具有开发者模式的模拟器中进行了相同的测试
applinks:servername.com?mode=developer applinks:dev.servername.com?mode=developer
它在 SIMUALTOR 中正确打开
然后我拼错了我们的服务器名称并从 iMessages 单击它重定向到 SIMULATOR 中的 Safari -
清除 Safari 历史记录和缓存后,我再次尝试使用正确的服务器名称 - 仍然重定向到浏览器而不是应用程序
编辑 3
在模拟器上
浏览此链接并看到有关 Smart App 的横幅,因为我找不到类似的东西。搜索后发现此SO Post并尝试设置 - Safari - 高级 - 网站数据 - 在页面中显示我的域名 - 清除网站数据。在模拟器上再次尝试,应用程序正确打开
在 iPhone 上发布临时构建
在真实设备上进行了相同的设置 - Safari - 高级 - 网站数据 - 在页面中显示了我的域名 - 清除网站数据,但它不起作用。它仍然在应用程序中打开浏览器
编辑 4
EDIT 2 中的 AASA 文件使 iOS 版本 12.4.2 中的重定向失败。因此像这样更新它
{
"applinks":{
"apps":[
],
"details":[
{
"appID":"teamid.bundleid",
"paths":[
"*",
"/"
],
"appIDs":[
"teamed.bundleid"
],
"components":[
{
"/":"/*"
},
{
"/":"*"
}
]
}
]
}
}
更新到此重定向到版本 12.4.2 中的应用程序后,但在 14 及更高版本中失败。通过此链接后修改的 AASA 文件
感谢任何帮助
提前致谢