我们可以在没有 apple-app-site-association (AASA) 的情况下测试 iOS 通用链接/深层链接吗?

Bha*_*eja 7 deep-linking ios-universal-links

我已经在我的应用程序中实现了通用链接,但出于某种原因,AASA 文件暂时不会上传到服务器上。

Noa*_*oam 5

是的,你真的可以!

您可以通过从终端调用此函数来测试应用程序对深层链接的响应,而无需实际实现远程端:

$ xcrun simctl openurl booted 'YOUR_LINK_HERE'
Run Code Online (Sandbox Code Playgroud)

这将在您的应用程序的 appDelegate 中触发以下回调:

func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any]) -> Bool
Run Code Online (Sandbox Code Playgroud)

...这正是您应该从深层链接中期望的行为。

只是不要忘记实际启动模拟器;-)

至于通用链接 - 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
}
Run Code Online (Sandbox Code Playgroud)


tai*_*oor 2

不可以,您必须在服务器上上传“apple-app-site-association”以及您的捆绑 ID 和团队 ID。没有它你就无法进行测试。此外,您无法使用其他人的“apple-app-site-association”文件来测试它,因为它的团队 ID 和捆绑 ID 会有所不同。

您可以将 AASA 文件上传到 heroku 服务器上以进行测试。