当您支持通用链接时,iOS 9 用户可以点击指向您网站的链接并无缝重定向到您安装的应用程序,而无需通过 Safari。如果您的应用尚未安装,点击指向您网站的链接可在 Safari 中打开您的网站。
在这里,如何设置您自己的服务器,并在您的应用程序中处理相应的链接。
Go Apple 开发者页面
在 developer.apple.com 上注册您的应用程序。在您的应用标识符上启用“关联域”。
在您的 Xcode 项目中启用“关联域”
一旦您在 developer.apple.com 中的 APP ID 中启用关联域,如上一步所示,错误“将关联域功能添加到您的 App ID”将消失。如果它没有消失,请退出并重新启动 xcode 几次,它就会工作。
添加正确的域权利并确保在构建时包含权利文件:Xcode 会自动完成。

然后使用终端创建 apple-app-site-association 文件
使用此命令创建 AASA(apple-app-site-association) 文件。
光盘桌面
touch apple-app-site-association
然后打开AASP FILE,写入这个json格式的数据
{
"applinks": {
"apps": [ ],
"details": [
{
"appID": "TeamID.BundleID2",
"paths": [ "*" ]
}
]
}
}
准备好 AASA 文件后,您现在可以托管https://<>/.well-known/apple-app-site-association
将 apple-app-site-association 文件上传到您的 HTTPS Web 服务器。您可以将文件放在服务器的根目录或 .well-known 子目录中。
APPLE APP SITE ASSOCIATION (AASA) VALIDATOR 转到以下链接并输入您的域名。它将检查 AASA 文件是否有效且可访问。链接:https ://branch.io/resources/aasa-validator/#resultsbox
完成后,在您的 Appdelgate 中添加以下代码
斯威夫特4
func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([Any]?) -> Void) -> Bool {
print("Continue User Activity called: ")
if userActivity.activityType == NSUserActivityTypeBrowsingWeb {
let url = userActivity.webpageURL!
print(url.absoluteString)
//handle url and open whatever page you want to open.
}
return true
}
目标-c
-(BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray * _Nullable))restorationHandler{
if ([userActivity.activityType isEqualToString: NSUserActivityTypeBrowsingWeb]) {
NSURL *url = userActivity.webpageURL;
}
return YES;
}
然后检查您添加到应用程序目标的权利并运行它将重定向到您的应用程序。确保 AASA 文件将像下面的屏幕一样进行验证,然后将其重定向到您的应用程序。如果有任何遗漏,它不会重定向到您的应用程序。
在您的服务器内部出现任何内容类型验证错误,然后您可以创建一个 .htaccess 文件并在其中编写此代码。
<Files "apple-app-site-association">
ForceType 'application/json'
</Files>
这个程序在我这边有效。我希望你这边也能正常工作。如果你喜欢阅读这篇文章。