iOS AppLinks 仅不适用于邮件应用程序

Posted

技术标签:

【中文标题】iOS AppLinks 仅不适用于邮件应用程序【英文标题】:iOS AppLinks only not working from mail app 【发布时间】:2021-12-13 05:10:26 【问题描述】:

我们正在创建一个新应用程序,但我在使用应用程序链接方面遇到了一些问题。

所以我添加了权利,并在我的服务器上托管了“.well-known/apple-app-site-association”文件,这似乎一切都很好。

然后我通过使用以下命令在我的模拟器上触发它们来测试应用链接:/usr/bin/xcrun simctl openurl booted "https://links.domain.com/path/token" 并很好地触发我的应用程序。

然后我开始在真实设备上进行测试,突然之间它不再工作了,我在这些设备上使用默认的邮件应用程序,这就是问题所在。

如果我将链接放在便笺(便笺应用程序)中,它会打开我的应用程序。如果我从 GMail 应用程序打开我的电子邮件,它会启动我的应用程序,但是来自同一个 gmail 帐户但在 Apple Mail 应用程序内部的完全相同的电子邮件不会做任何事情......

我现在在 ios 13 和 iOS14 上都试过了。

托管的 apple-app-site-association 文件的内容如下所示:


    "applinks": 
        "apps": [],
        "details": [
            
                "appID": "0000X0XXXX.com.domain.appname",
                "paths": ["*"]
            
        ]
    ,
    "webcredentials": 
        "apps": [ "0000X0XXXX.com.domain.appname" ]
    

欢迎任何关于我们下一步可以尝试的想法。我唯一能想象的是,邮件应用程序会额外检查您的应用程序是否在 AppStore 上,但这有点奇怪,不是吗?!

【问题讨论】:

我刚刚在电子邮件中仔细检查了我的应用程序的通用链接,它从 iOS 邮件应用程序启动了我的应用程序就好了(iOS 15.1)。我不确定这里会发生什么。我的 AASA 文件和你的一样(但没有 webcredentials 部分)。 @Rob webcredentials 我后来添加的,但起初它没有,也无法在邮件应用程序中工作。 【参考方案1】:

好的,我确实找到了问题并修复了...实际上并没有那么难,我不小心撞到了它...

Apple 在解析 html 方面似乎做得非常糟糕,尤其是链接的 href 属性。虽然我找不到任何其他行为相同的客户端,但似乎如果您不将方案(http 或 https)放在 url 前面(所以我只使用 google.com 而不是https://google.com)您提供给href 属性,然后Apple 会从中做出一些自己的东西:x-webdoc://30E09690-F388-4ED2-BB46-14DC829B974C/google.com。 我可以在 Apple Mail 应用程序上发现这一点,但是在我遇到问题的 iPhone 上,它甚至没有被识别为链接,所以他们自己的应用程序之间的行为似乎有点不同。

最后,我没有将https:// 放在自动生成的URI 前面是我的错误。但是我确实认为 Apple 在构建链接 HTML 标记方面做得很差。

【讨论】:

以上是关于iOS AppLinks 仅不适用于邮件应用程序的主要内容,如果未能解决你的问题,请参考以下文章

应用内电子邮件不适用于 iOS 设备/模拟器 iOS6

带有自定义声音的 UILocalNotification 仅适用于 iOS 6.1 和 iOS 7.1,不适用于 iOS 7.0

iOS 上的 Plupload 仅适用于新照片,不适用于相机胶卷

Pushsharp 推送通知仅适用于沙盒,不适用于生产

Drive Rest Api正在使用一个电子邮件ID,但不适用于其他gmail ID

Flutter Firebase 动态链接不适用于新的 ios 应用安装