2

为了让自动填充密码在 Apple 平台上工作,我正在Apple App Site Association (AASA) Validator这个网站上进行测试。我在Public/.well-known/apple-app-site-association文件中添加了所需的 json,以便自动填充密码在我的 iOS 应用程序上工作。

此测试的结果返回此错误: Your file's 'content-type' header was not found or was not recognized.

有没有人遇到过这个问题?似乎 AASA 文件没有下载到我的设备中。

请注意,在 iOS 14 上,AASA 文件将通过 Apple 的 CDN 交付,这与当前下载 AASA 文件的方式不同。

在我的 Vapor 4 项目中还有其他事情要做吗? 在此处输入图像描述

4

1 回答 1

1

我遇到了同样的问题,请按照 imike 的回答并进行一些研究,这就是解决方案。

  1. 创建自定义中间件
struct UniversalLinksMiddleware: Middleware {
    
    func respond(to request: Request, chainingTo next: Responder) -> EventLoopFuture<Response> {
        guard request.url.string == "/.well-known/apple-app-site-association" else {
            return next.respond(to: request)
        }
        
        return next.respond(to: request).map { response in
            response.headers.add(name: "content-type", value: "application/json")
            return response
        }
    }
    
}

  1. config.swift在文件中添加这个中间件。注意添加中间件的顺序,必须先添加FileMIddleware。因为离开您的应用程序的响应以相反的顺序通过中间件。
app.middleware.use(UniversalLinksMiddleware())
app.middleware.use(FileMiddleware(publicDirectory: app.directory.publicDirectory))
于 2021-05-08T12:18:43.210 回答