我已经在我的应用程序中实现了通用链接,但由于理由,AASA文件暂时不会上传到服务器上。
答案 0 :(得分:1)
不,您必须在服务器上使用您的软件包ID和团队ID上传“apple-app-site-association”。没有它你不能测试。此外,您无法使用其他人的“apple-app-site-association”文件对其进行测试,因为它的团队ID和包ID将不同。
您可以在heroku服务器上上传您的AASA文件以进行测试。
答案 1 :(得分:1)
Apple似乎不支持此功能。
但是,您可以直接在程序中的任何位置直接调用委托方法。
NSUserActivity *activity = [[NSUserActivity alloc] initWithActivityType:NSUserActivityTypeBrowsingWeb];
activity.webpageURL = [NSURL URLWithString:@"https://<your-domain.com>/route"];
[UIApplication.sharedApplication.delegate application: UIApplication.sharedApplication continueUserActivity:activity restorationHandler:^(id restorableObjects) {
}];
答案 2 :(得分:-1)
是的,你真的可以!
您可以通过从终端调用此函数来测试应用程序对深层链接的响应,而无需实际实现远程端:
$ 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
}