128

所以我完全按照本教程使用了与提供的值相同的值: https ://blog.branch.io/how-to-setup-universal-links-to-deep-link-on-apple-ios-9

苹果协会文件也准备好在链接目录中:
WEB_PAGE:PORT_NUMBER/apple-app-site-association

一切似乎都安排在这一边。

我添加了权利,更新了配置文件,一切都设置好了。

当我在我的设备上运行应用程序并打开链接http://WEB_PAGE:PORT_NUMBER时,它总是会打开 Safari。

我什至在以下方法中有断点:

- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void(^)(NSArray * __nullable restorableObjects))restorationHandler

但是zilch。

有没有人完善这个?有什么我想念的吗?

4

40 回答 40

204

有几个可能的问题。

  1. 尝试将您的域粘贴到此链接验证器中并确保没有问题:https : //limitless-sierra-4673.herokuapp.com/(归功于 ShortStuffSushi - 请参阅repo

  2. 如果您没有在您的权利中指定的域上正确设置 TLS,iOS 会在系统日志中记录一条错误消息。它隐藏在操作系统日志中,而不是应用程序日志中。错误消息将如下所示Sep 21 14:27:01 Derricks-iPhone swcd[2044] <Notice>: 2015-09-21 02:27:01.878907 PM [SWC] ### Rejecting URL 'https://examplecustomdomain.com/apple-app-site-association' for auth method 'NSURLAuthenticationMethodServerTrust': -6754/0xFFFFE59E kAuthenticationErr。从此处提取的错误消息,有关在此处使用 CloudFlare 进行 TLS 的快速(不完整)说明。

  3. 在我的个人测试中,在 Safari 中单击/键入链接从未直接打开过该应用程序。从其他应用程序(iMessage、Mail、Slack 等)单击已成功。其他人报告说,点击谷歌搜索结果中的链接直接打开了该应用程序。

  4. 请注意,如果通用链接成功打开您的应用程序,然后您点击进入 Safari(通过点击应用程序导航栏右上角的站点),则当您访问该 URL 时,iOS 将停止打开应用程序。然后在 Safari 中,您可以下拉以在页面顶部显示带有“打开”的横幅。我在这上面浪费了很多时间。请注意,根据您在 apple-app-site-association 文件中指定的路径,单击站点 => 禁用 UL 似乎是特定于路径的。因此,如果您有单独的路线,yoursite.com/a/*并且yoursite.com/b/*,如果您单击yoursite.com/a/*它并直接打开您的应用程序,那么您可以在应用程序的右上角选择点击进入yoursite.com/a/*。如果您这样做,后续访问yoursite.com/a/*将在浏览器中打开,而不是应用程序。但是,yoursite.com/b/*应该不受影响并且仍然直接打开您的应用程序。

如果您发现问题所在,请告诉我。我个人对通用链接如何工作以及存在哪些边缘情况非常好奇。祝你好运。

于 2015-09-24T00:54:48.507 回答
77

有很多方法可能会出错。有两点给我带来了麻烦:

  • 在 Xcode 中,当您添加 Associated Domains 权利时,每个条目都需要以applinks:您的域名开头。例如applinks:www.apple.com

  • 尽管 Xcode 为我创建了一个权利文件,但它并没有包含在我的构建中:我必须手动单击该框。

是的,在这样做之后,没有必要对apple-app-site-association文件进行签名:它只是纯文本,只要它通过 HTTPS 提供,它就可以工作。(不过,如果你支持 iOS 8,你仍然需要签名。)

于 2015-10-23T14:35:19.513 回答
57

为帮助调试此问题,请在安装应用程序时在设备的控制台输出中搜索“swcd”,以查看注册通用链接是否有效。

  1. 使用实际设备,而不是模拟器。
  2. 从您的设备中删除该应用程序。
  3. 将设备连接到您的计算机,并在 xcode 中查看设备的控制台输出。(窗口 -> 设备 -> [您的设备] -> 打开控制台)。保持这个窗口打开。
  4. 安装您的应用程序并让它启动。
  5. 将控制台输出过滤为“swcd”。如果成功,您将看到类似于以下屏幕截图的内容。如果它失败了,你会看到别的东西。如果您没有看到任何内容,那么您就搞砸了一些基本的东西,例如添加关联域权利。

应用链接添加成功

于 2016-11-02T14:09:34.290 回答
36

为 Universal Links 制作关联文件的文档中显然存在错误。

它在哪里说:

appID 键的值是应用的团队 ID 和捆绑包 ID

它应该说

appID 键的值是应用的 Prefix 和 bundle ID

对于大多数应用来说,Team ID 和应用前缀似乎是相同的,但如果您的应用已在商店中销售多年,这些值可能会有所不同。

要查找此值,请打开https://developer.apple.com上的会员中心并查看“证书、标识符和配置文件”,单击“标识符”,然后单击“标识符”下表格中的“应用程序 ID”。找到您的应用,并使用 Prefix 值和 Bundle ID 为关联文件创建 AppID。

于 2016-02-05T15:17:51.287 回答
27

apple-app-site-association在服务器端进行验证,您可以使用 Apple 的官方验证器。

https://search.developer.apple.com/appsearch-validation-tool/

于 2015-12-18T20:53:28.720 回答
26

St.derrick 的回答内容丰富。

但是要再次启用通用链接以在应用程序而不是 Safari 中打开,我们需要执行以下操作。

  • 长按 Mail 或 iMessage 中的通用链接,然后您将看到在 safari 或 App 中打开的选项。
于 2015-10-27T06:46:57.617 回答
19

我意识到对我来说问题是指向根目录的链接 a (例如。http://example.com/)没有打开我的应用程序,但是如果我添加了一个路径(例如。http://example.com/mypath)它可以工作。添加"/"到路径列表解决了它:

{
    "applinks": {
        "apps": [],
        "details": [
            {
                "appID": "TEAM_ID.BundleIdentifier",
                "paths": [ "*", "/" ]
            }
        ]
    }
}

正如 slutsker 在Apple Developer Forums 线程中所回答的那样。

于 2015-10-14T07:36:10.643 回答
17

检查您是否已正确实施通用链接的快速步骤。

  • 点击并按住您希望启动应用程序的链接。您应该在上下文菜单中看到“在 [您的应用名称] 中打开”。

  • 打开 Notes 应用程序,键入您希望打开该应用程序的链接。点击完成。该链接将变为黄色,点击该链接应该会打开您的应用程序,而不是 Safari。

  • 如果链接http://yourDomain.com没有启动应用程序,请尝试http://yourDomain.com/yourFolder/

  • 在 Safari 中,如果上下文菜单在 safari 中显示“在 [您的应用程序名称] 中打开”,但点击链接会在 safari 本身中打开链接而不是启动应用程序,

    一个。尝试在单击链接时打开的 Safari 页面下拉,就像您“拉动刷新”的方式一样。应该会出现一个可以打开您的应用程序的横幅。点击横幅打开应用程序,按主页按钮关闭应用程序,返回 Safari 并再次点击链接尝试启动应用程序。这一次,应用程序应该会启动,因为点击横幅应该已经保存了在应用程序中打开链接的偏好。

    湾。如果在步骤 a. 之后应用程序仍未启动,请尝试将链接邮寄到 gmail 等网络邮件,然后在 safari 中打开网络邮件站点并尝试单击链接。如果这可行,您可能一直在尝试从与链接相同的域启动应用程序。据我所见,从同一个域启动应用程序大多失败。当链接与用户所在的域相同时,safari 可能不会检查目标 url 是否是通用链接。所以尝试从另一个域启动应用程序。

于 2015-11-05T20:52:17.087 回答
16

对于需要轻松测试打开(通用)链接的任何人,您还可以使用以下命令从终端打开模拟器中的链接:

xcrun simctl openurl booted yourapp_or_http://yourlink

例如:

xcrun simctl openurl booted https://www.google.com

于 2017-12-20T07:12:57.497 回答
14

在集成通用链接后增加项目版本或内部版本号也非常重要。即使您删除/重新安装,iOS 也不会获取链接,除非您升级版本。

于 2016-05-27T20:08:26.980 回答
12
  • 如果您将链接粘贴到浏览器 URL 字段中,通用链接将不起作用。

  • 通用链接与跨域的用户驱动元素点击一起工作。示例:如果 google.com 上有指向 bnc.lt 的通用链接,它将打开应用程序。<a href="...">

  • 通用链接不适用于用户驱动的<a href="...">元素单击同一域。示例:如果 google.com 上的通用链接指向 google.com 上的不同通用链接,则它不会打开应用程序。

  • 通用链接不能通过 Javascript(在 window.onload 中或通过对<a>元素的 .click() 调用)触发,除非它是用户操作的一部分。

来源:https ://dev.branch.io/getting-started/universal-app-links/support/ios/#appsbrowsers-that-support-universal-links

第三颗子弹花了我大约一天的时间才弄清楚。

于 2016-10-07T22:12:31.557 回答
6

如果这里的人们正在寻找其他解决方案,我们会一步一步地调试通用链接,因为我们已经看到很多问题弹出,引起了很多头痛。

一探究竟:

通用链接调试指南

调试指南预览

如果您只是想重新设置通用链接,本指南非常有用:

iOS 深度链接设置指南

希望他们有帮助!

于 2016-05-22T23:54:37.840 回答
6

只是想我会添加一些我发现的东西,以防更多人将来遇到与我相同的问题。这些主要与身份验证错误有关。

即使苹果没有明确说明,该apple-app-site-association文件也必须通过 https 提供,即使已签名。用于 https 的证书也必须得到苹果的信任。因此,虽然在设置 -> 常规 -> 配置文件中添加到设备的证书将允许 https 在 safari 中,但它不允许通用链接工作。

在设备日志中,在设备和服务器之间发生身份验证错误时,将打印一个值,如"TrustResultValue" : 4. A TrustResultValueof 5 表示证书用于错误的域(例如,从 www.test.com 提供的 test.com)。4 的ATrustResultValue表示此用途不信任证书。

这里可能有一些有用的调试步骤。“测试对 apple-app-site-association 的访问”部分是关于如何确保设备获取apple-app-site-association文件的分步指南。步骤归结为:

  1. 卸载应用程序。这是必要的,因为文件是在安装时下载的。

  2. 停止服务器正常服务apple-app-site-association

  3. 在 xcode 中,打开 Window -> Devices,然后选择您的设备。

  4. 单击窗口底部的三角形打开设备日志。

  5. 通过单击垃圾箱以清除任何可能相关的以前的日志来清除日志。

  6. 通过单击播放按钮使用 xcode 重新安装应用程序。

  7. 应用程序启动后,如果设备正确请求文件,则设备日志应包含可通过搜索“apple-app-site-association”找到的错误。

如果apple-app-site-association文件被正确提供(步骤 2 被省略),那么应该没有错误。如果这是问题,则可能会显示身份验证错误。

于 2016-07-05T15:21:00.243 回答
6

最常见的原因是用户点击右上角,从而告诉 iOS 以后不要打开应用程序(在这种情况下是 Uber)。

要修复,请下拉以显示智能横幅并点击打开:

在 Safari 中下拉,然后再次打开

这将随后“记住”打开应用程序。

于 2016-09-26T03:16:27.197 回答
6

我们已将apple-app-site-association文件添加到此位置:

https://example.com/apple-app-site-association

在 iOS 9 上它运行良好,但在 iOS 10 上它不起作用。

看来问题出在.well-known路径上:

https://example.com/.well-known/apple-app-site-association

由于https://example.com/.well-known/apple-app-site-association路径重定向到https://example.com

<Notice>: Allowing redirect 'https://example.com/.well-known/apple-app-site-association' -> 'https://example.com/'
<Notice>: ### Rejecting AASA file size 154466 for URL https://example.com/.well-known/apple-app-site-association

在我看来,如果不知何故 .well-known 路径无法正常工作,它会破坏通用链接。

于 2016-10-05T16:16:01.977 回答
4

我设法让它工作,但它花了相当长的时间和努力。请注意,除非您签署 apple-app-site-association 文件(签署是可选的!)点击 Safari 中的链接将不会打开您的应用程序(这让我很头疼)。

于 2015-10-29T12:47:08.573 回答
4

对于 ios13,有一种新格式 - 在这里查看https://developer.apple.com/documentation/safariservices/supporting_associated_domains_in_your_app?language=objc

我将文件更新为如下所示:

 {
  "applinks": {
    "apps": [],
    "details": [
        {
          "appIDs": ["1234.app.company.appname"],
          "appID": "1234.app.company.appname",
          "components": [
            {
              "/": "/login"
            }
         ],
           "paths": [ "/login" ]
        }
    ]
  },
  "webcredentials": {
    "apps": ["1234.app.company.appname"]
  }
}
于 2020-02-27T14:59:05.530 回答
3

我花了将近一天的时间才弄清楚这一点。我遇到的问题是没有在 XCode 中下载更新的配置文件(之后我还重新启动了 XCode)。

(首选项 > 帐户 > 查看详细信息 > 全部下载)

于 2016-02-09T23:26:59.333 回答
3

您可以在模拟器中测试通用链接

来自App Search 编程指南:支持通用链接

于 2016-02-18T23:21:30.863 回答
3

两天后,我发现,这些链接(来自分支)

应用链接:xxxx.app.link

仅在归档(也是临时)应用程序并将其安装到手机后才能工作。

于 2017-09-04T10:37:43.943 回答
3

如果您apple-app-site-associationFirebase上托管,请确保将其放在/.well-known/子目录中!Xcode 似乎首先查询该 URL,如果成功,则不会尝试apple-app-site-association在根目录中查询。出于某种原因,firebase 工程师让托管网站自动响应/.well-known/apple-app-site-association一个空的(但格式正确的)关联文件,该文件覆盖您的自定义文件,让您不知道为什么没有任何效果!

于 2019-07-16T09:36:51.773 回答
2

转到 developer.apple.com 并编辑您的分发配置文件之一。在编辑页面中,您可以打开App ID 的弹出窗口,其中将显示您的应用名称列表,并且在应用名称后面的 () 圆括号中显示您所有的真实App ID。有些应用程序可能会将您的团队 ID 作为前缀,但有些则没有。确保完全使用您在 () 内的弹出菜单中看到的内容,并将其放入 apple-app-site-association 详细信息 appID 字段中。我在一个应用程序及其通用链接上遇到了这个问题。

于 2016-03-17T13:41:22.193 回答
2

对我来说,问题原来是apple-app-site-association文件。根据 Apple 的文档,只需要 applinks 参数。我添加了activitycontinuation参数并且它起作用了。

{
  "activitycontinuation": {
    "apps": [
      "9JA89QQLNQ.com.apple.wwdc"
    ]
  },
  "applinks": {
    "apps": [],
    "details": [{
        "appID": "9JA89QQLNQ.com.apple.wwdc",
        "paths": [ "/wwdc/news/", "/videos/wwdc/2015/*" ]
      }]
  }
}
于 2016-05-19T17:44:40.957 回答
2

还没有真正看到完全相同的问题/解决方案组合让它对我有用,所以不妨添加我的以防有人遇到同样的问题!

对于我的应用程序,我正在使用自定义 URL 方案(在 中设置APP_TARGET > Info > URL Types)并将 URL 方案从此处设置到 Firebase 控制台以匹配但仍然无法正常工作。

我的问题实际上是两个问题:

注意是否检查自动管理签名

如果您像我一样检查 Xcode 的“自动管理签名”设置,因为我只是想制作一个快速演示应用程序,您需要确保使用的 TeamID 与 Firebase 控制台中的匹配。我最初去我的 Apple Developer Account 并从我的 Membership 页面复制了团队 ID,但后来发现 Xcode 使用的实际 ID 不同。(你可以在APP_TARGET > General > Signing > Signing Certificate.对我来说它看起来像这个iPhone Developer: My Name (TEAM_ID))。

在 URL 类型中将您的 TeamID 前缀到您的 Bundle Identifier

在我确保这些在我的 Firebase 控制台和 Xcode 中匹配之后,我的下一个问题是我的 URL 方案的标识符。通常在此处使用您的包标识符,但 Firebase 实际上会使用您在 Firebase 控制台中提供的团队 ID 作为前缀,因此我也必须将其添加到 Xcode 中 URL 类型部分中的标识符的前缀。

经过这两个修复并重新下载GoogleService-Info.plist文件后,我打开动态链接没有问题。

于 2016-12-09T03:51:12.177 回答
2

经过两天的绝望,我想我终于修好了。这是我的解决方案:

似乎较旧的应用程序使用的应用程序前缀与较新的应用程序不同。较新的应用程序仅将团队 ID 用于此目的。如果app前缀和团队ID不相同,似乎需要在apple app站点关联文件中指定activity continuation字段:

{
    "activitycontinuation": {
        "apps": [
            "YOUR_APP_PREFIX.de.company.app"
        ]
   },
  "applinks": {
    "apps": [],
    "details": [
      {
        "appID": "YOUR_APP_PREFIX.de.company.app",
        "paths": ["/*"]
      }
    ]
  }
} 

我在地狱之旅中经历的另一件事是删除应用程序并重新启动设备似乎是强制刷新此文件的唯一方法。

于 2018-11-14T09:59:55.840 回答
1

对我来说,我的错误是我们的网站将 www.domain.com 重定向到 domain.com,因此所有 www.domain.com/* 都会因此而失败。希望有帮助。

于 2016-08-16T18:20:22.077 回答
1

对于找到此页面的未来读者...

我也有类似的情况。然而,在我的情况下,iOS10 工作正常,无论我做什么(碰撞内部版本号、删除/重新安装等),iOS9 似乎都拒绝工作。

我是从 iOS10 开始的,需要支持 iOS9。当时,这里的文档 - https://developer.apple.com/library/content/documentation/General/Conceptual/AppSearch/UniversalLinks.html - 明确指出该文件可以放在网络服务器的根目录(例如/apple-app-site-association)或在 .well-known 文件夹中(例如/.well-known/apple-app-site-association)。因为我还支持 Android,它也使用 .well-known 文件夹来保存类似的文件,所以我决定将两者都放在那里。

对于 iOS10 上的全新安装,它显然请求根文件,失败,然后请求 .well-known 文件,并成功。

对于iOS9,它显然请求了根文件,失败了,没有做任何其他事情。

解决方法:如果你支持iOS9,把文件放在/apple-app-site-association.

于 2017-08-02T17:14:58.300 回答
1

我能够使用日历应用程序在 iOS 模拟器中测试通用链接。

URL我刚刚创建了一个事件并在事件字段中添加了我想测试的 URL 。然后,在查看创建的事件时,您只需点击 URL 链接,您的应用程序就会打开。

于 2017-10-25T17:10:02.807 回答
1

对我来说,在实现了上面的所有答案并测试了 AASA 文件确实是用 mpoisot 的答案下载之后,我的问题是在 Xcode 中我添加了关联的域:

applinks:example.com

在我的笔记应用程序中,我试图使用:

Https://example.com

因为我的 AASA 没有签名,我想确保我通过 HTTPS 提供服务。所以它在我尝试使用的笔记应用程序中起作用:

example.com

它适用于我在物理设备上,使用 iOS 12.1.2 以及来自 Xcode 的开发版本或来自 Testflight 的分发版本

于 2018-12-21T22:39:57.647 回答
1

希望这对某人有所帮助,因为这花了我大约两天的时间才弄清楚。

我们必须添加www.到我们associated-domains.entitlements文件中。

        <string>applinks:www.yourdomain.com</string>
        <string>activitycontinuation:www.yourdomain.com</string>

因为如果我们使用yourdomain.com而不是我们的服务器做了一个重定向 - > www.yourdomain.com304 然后没有包含content-type: application/json.apple-app-site-association file

注意通用链接仍然适用于yourdomain.comwww.yourdomain.com

于 2019-06-19T05:23:20.847 回答
1

花了一天时间试图让它工作后,重新启动我的手机解决了这个问题。

卸载/重新安装应用程序也不起作用。

于 2019-11-12T23:58:28.053 回答
1

在我的情况下,我需要让服务器apple-app-site-association使用内容类型提供文件:application/pkcs7-mime. 在 nginx 中,我使用了这种方法:

location ~ /.well-known/apple-app-site-association {
         default_type application/pkcs7-mime;
 }

正如其他人建议的那样,我还必须确保我:

请注意,我从未在控制台应用程序中看到其他用户的屏幕截图中显示的“成功”消息。在控制台中,我不断收到Entry [...] needs its JSON updated because the app PI changed,但这不是问题。

另请注意,当尝试apple-app-site-association在浏览器中打开文件时,文件会被下载而不是显示,但这对我来说不是问题。

和往常一样,使用真实设备,每当您更改内容时重新安装应用程序,可能还会重新启动设备并可能增加应用程序版本号。

于 2021-01-22T13:56:14.227 回答
1

有时我发现关联文件一切正常,但 iOS 决定始终在 Safari 中打开通用链接。为了测试应用程序是否识别应用程序链接,我将 URL 添加到 Notes 或日历条目,然后长按它以显示上下文菜单。如果它显示“在 {YOUR APP} 中打开”,则该链接有效,但 iOS 决定在 Safari 中打开它。点击“在 {YOUR APP} 中打开”将告诉 iOS 从那时起通过您的应用打开有效的通用链接。

于 2021-07-14T23:29:44.290 回答
0

就我而言,我的错误是将查询参数放在路径中:

{
    "applinks": {
        "apps": [],
        "details": [
            {
                "appID": "TEAM_ID.BundleIdentifier",
                "paths": [ "/auth-ui/hub?target=confirm&*" ]
            }
        ]
    }
}

当我从路径中删除 '?target=confirm&*' 时,它开始工作

于 2018-09-17T16:08:44.027 回答
0

就我而言,对 AASA 文件的请求位于:https ://example.com/apple-app-site-association

被重定向到:https ://www.example.com/apple-app-site-association

关键是——这在 iOS 11 上运行良好,但在 iOS 9.3.5 上失败。去搞清楚。

解决方案:apple-app-site-association文件不得位于 iOS 9 的 302 或 301 重定向之后。(公平地说,这在UL 故障排除页面上有说明。)

于 2018-09-26T17:51:16.290 回答
0

我还将把我的笔记放在故障排除上。

基本上我们有 2 个部分,它们应该链接在一起:1)网站和2)iOS应用程序。

  1. 对于网站,只有一个问题:apple-app-site-association文件的 MIME 类型不是application/json.

    API验证工具也没有帮助我们,因为test 它说的是环境

错误 no apps with domain entitlements 用于验证深度链接双重身份验证的权利数据来自您的应用程序的当前发布版本。此数据可能需要 48 小时才能更新。

但最终网站还可以。

我们检查了网络日志,看到 GET 请求apple-app-site-association文件并决定切换到 iOS 应用程序。

  1. 为了处理iOS应用程序设置,最好让Console应用程序运行,并过滤以仅显示swcd进程,正如该线程中已经提到的那样。

在我们的例子中,问题是我们依赖通配符 URL,格式为:applinks:*.prod_site_name.com,认为 * 将涵盖所有测试环境前置,例如https://test_env.num4.prod_site_name.com,但这不起作用。控制台显示:

开始请求域 '*.prod_site_name.com',URL ' https://prod_site_name.com/.well-known/apple-app-site-association '

因此,我们的解决方案是为应用程序的测试目标提供特定于测试的应用程序链接,例如:applinks:test_env.num4.prod_site_name.com

于 2019-06-05T12:45:00.240 回答
0

就我而言,原因是 JSON 无效。

它没有使用“但是”,因为我从某篇文章中复制了它,该文章的“专家”作者将它贴上了这样的标志,我从他那里复制了它。

顺便说一句,目标站点上仍然没有信息框,例如“您可以使用应用程序打开它”,但如果我单击链接,例如从 Notes 应用程序打开应用程序。

错误的:

{
    “applinks”: {
        “apps”: [],
        “details”: [
            {
                “appID”: “T5TQ36Q2SQ.com.reddit.production”,
                “paths”: [“*”],
            }
        ]
    }
}

好的:

{
    "applinks": {
        "apps": [],
        "details": [
            {
                "appID": "T5TQ36Q2SQ.com.reddit.production",
                "paths": ["*"],
            }
        ]
    }
}
于 2020-09-15T11:05:09.897 回答
0

在我的案例中,它没有醒来,因为我有 2 件物品

<plist version="1.0">
<dict>
    <key>aps-environment</key>
    <string>development</string>
    <key>com.apple.developer.associated-domains</key>
    <array>
        <string>applinks:urlOne</string>
        <string>applinks:urlTwo</string>
    </array>
</dict>
</plist>

当我将数组减少到只有一项时,它开始工作。

于 2020-12-09T14:10:41.150 回答
0

有一种新的文件格式 - 检查此链接:  https ://developer.apple.com/documentation/safariservices/supporting_associated_domains_in_your_app?language=objc

我像这样更新了我的文件:

"applinks": {
        "apps": [],
        "details": [
            {
                "appID": "APP_ID_PREFIX.BUNDLE_ID",
                "paths": [
                    "*"
                ]
            }
        ]
    },
    "webcredentials": {
        "apps": [
            "APP_ID_PREFIX.BUNDLE_ID"
        ]
    }
}

注意:在模拟器中它不工作,但在设备上工作完美。

于 2021-02-24T14:42:59.617 回答
-1

我没有看到有人为 Flask 提供解决方案。

这对我有用。

编辑:经过两次否决票,我想澄清几个月后我仍然使用这个确切的解决方案。它确实有效,但还有其他原因可能无法立即对您的应用程序有效。这包括您将不得不多次删除应用程序并重新启动手机。最终,它链接。我不确定为什么这么难,但这个解决方案确实有效。因此,请继续尝试,如果您有任何问题,请随时发表评论,以便我可以提供帮助。

如果您使用的是 Flask,请将“apple-app-site-association”放在您的静态文件夹中,然后将其添加到您的 application.py 文件中。

@application.route('/apple-app-site-association', methods=['GET'])
def apple_app_site_association():
    return application.send_static_file('apple-app-site-association')
于 2019-08-22T03:30:24.563 回答