【发布时间】:2017-05-02 16:01:55
【问题描述】:
我正在为我们的 iOS 应用程序实现通用链接。
这是我的 AppDelegate 的一小部分:
private func application(_ application: UIApplication, openURL url: URL, sourceApplication: String?, annotation: AnyObject) -> Bool {
DeepLinkHelpers.handleUniversalLink(url.absoluteString)
return true
}
private func application(application: UIApplication, continueUserActivity userActivity: NSUserActivity, restorationHandler: ([AnyObject]?) -> Void) -> Bool {
DeepLinkHelpers.handleUniversalLink(userActivity.webpageURL?.absoluteString)
return true
}
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
signalRConnector.launch()
NotificationCenter.default.addObserver(self, selector: #selector(AppDelegate.processRestartSignalRNotification(_:)), name: NSNotification.Name(rawValue: "restartSignalR"), object: nil)
NotificationCenter.default.addObserver(self, selector: #selector(AppDelegate.reachabilityChanged(_:)),
name: ReachabilityChangedNotification,
object: reachability)
do {
try reachability.startNotifier()
} catch {
Logger.save(text: "Unable to start notifier")
}
return true
}
我已经处理了通用链接集成的所有其他步骤:
- 在我们的 Web 应用程序中发布了 apple-app-site-association 文件
- 在 developers.apple.com 上启用关联域功能
- xcode 中指定的关联域
- 已检查权利文件的目标成员身份
- 说 xcode 等到应用程序将手动启动(而不是 自动启动)
我正在做以下调试:
- 连接ipad
- 在 xcode 中启动项目
- 在 ipad 打开日历并单击某些事件中包含的链接。 链接格式如下:app.domain.com/#/123456789
- Ipad 打开应用程序,但 continueUserActivity 没有调用,我不能 处理来自 url 的代码,以便导航到应用中的确切状态。
根据文档 continueUserActivity 应该被执行。当应用程序在后台运行和应用程序未运行时,它都不会执行。
提前感谢您!任何帮助表示赞赏。
【问题讨论】:
-
search.developer.apple.com/appsearch-validation-tool 给我错误:无法解析该网页 URL。尝试不同的网址。
-
但是这个说所有正确并且所有测试都是绿色的:branch.io/resources/aasa-validator
-
Apple 验证器不是 Universal Links 验证器,其结果与Universal Links 是否起作用无关。有关详细信息,请参阅here。
标签: ios swift ios-universal-links