我已经完成了几乎所有关于 SO 的 Universal Links 问题,我可以找到但还没有运气。作为记录,这一切似乎都通过了Branch 的验证器。
我正在运行 iOS 10.3 并在 https 后面提供我的 aasa 文件,所以理论上我不需要签名。
这是我的立场:
安装应用程序后,为我的登台服务器跟踪 Heroku 的日志会给我以下信息:
7-07-27T17:24:59.818724+00:00 heroku[router]: at=info method=GET path="/.well-known/apple-app-site-association" host=trueey-staging.herokuapp.com request_id=54b817e2-1d89-4c7a-9ed8-f52bdb3ad46e fwd="24.23.197.78" dyno=web.1 connect=1ms service=6ms status=200 bytes=618 protocol=https
2017-07-27T17:24:59.812926+00:00 app[web.1]: Started GET "/.well-known/apple-app-site-association" for 24.23.197.78 at 2017-07-27 17:24:59 +0000
2017-07-27T17:24:59.814845+00:00 app[web.1]: Processing by Web::AppSiteController#show as */*
2017-07-27T17:24:59.815538+00:00 app[web.1]: Completed 200 OK in 1ms (Views: 0.1ms | ActiveRecord: 0.0ms)
1) 我的权利:
applinks:trueey-staging.herokuapp.com
applinks:https://trueey-staging.herokuapp.com
这些是一样的吗?可能,但让我们加倍下注
2) 我的 apple-app-site-association 文件、路由和为其提供服务的 Rails 控制器:
apple-app-site-association(位于/public
as 中apple-app-site
):
{
"applinks": {
"apps": [ ],
"details": [
{
"appID": "[Prefix].[AppId]",
"paths": [ "*", "/" ]
}
]
}
}
路线:
get "/apple-app-site-association", to: "web/app_site#show"
get "/.well-known/apple-app-site-association", to: "web/app_site#show"
控制器:
module Web
class AppSiteController < ApplicationController
def show
data = File.read("#{Rails.root}/public/apple-app-site")
render json: data
end
end
end
3)在我的 AppDelegate 中,我实现了 application:continueUserActivity:restorationHandler:
函数,它被设置为与调用 didFinishLaunchingWithOptions 时完全相同(加上打印出大量的====
踢球)
但是...
没有什么。部署到登台后,我在手机上加载应用程序,通过我们的共享功能生成一个链接,将其保存到笔记中,然后单击它仅在 Safari 中打开它。长按不会做任何事情,并且没有其他迹象表明 Safari 正在打开而不是应用程序。设备日志似乎没有表明任何问题,但也许我没有寻找正确的东西?
哈尔普。