macOS上的通用链接

问题描述 投票:5回答:1

自iOS9以来,通用链接可在iOS上使用,但我想知道macOS上是否存在类似的功能?我们有一个带有相应Web应用程序的macOS-App应用程序,我们希望用户单击链接以在Mac-App中打开链接,而不是使用目标链接打开浏览器。

在macOS上是否有可能?我刚刚找到了适用于iOS的示例,但未找到适用于macOS的示例?!?

ios macos macos-sierra ios-universal-links
1个回答
0
投票

在macOS上支持通用链接需要您的应用程序和网站(以及macOS 10.15+)的支持。

请参阅Apple的文档Allowing Apps and Websites to Link to Your Content了解详细信息(该文章处理iOS,tvOS和macOS的深层链接)及其子文章Enabling Universal LinksHandling Universal Links

快速概述:

[基本上,它与iOS上的相同:您需要在根目录或apple-app-site-association目录中创建服务器上托管的.well-known文件(在“启用通用链接”中进行了描述]上方链接)。它描述了可以将哪些URL路径传递到您的应用程序。重要的是,此文件必须是有效的JSON(请对其进行验证!),并且必须通过具有有效证书且没有任何重定向的HTTPS进行提供!

您需要在供应配置文件中启用“关联域”功能。详细信息取决于Xcode是否管理您的配置文件。在您的权利文件(通常可以通过Xcode中目标的“签名和功能”选项卡编辑)中,您需要添加相应的关联域,例如applinks:my.domain.example(没有https://或其他任何东西,只是原始域名)。

然后您需要在应用程序委托中实现application(_:continue:restorationHandler:)以处理通用链接。

在开发过程中,使macOS首次选择该关联可能很烦人。 调试提示:

  • 打开application(_:continue:restorationHandler:)并过滤Console.app,这是负责关联的Web凭据和通用链接的守护程序。有时,您会看到提示为什么它不起作用(例如拒绝swcd文件)。
  • [我还必须杀死apple-app-site-association守护程序,以使其被swcd重新启动,然后获取对launchd文件所做的更改/修复。 iOS和macOS通常都应在“应用程序安装” 1
  • 上重新加载该文件(尚未更清楚地指定此文件;我想它们的意思是App Store的安装/更新,但我不知道何时加载此文件适用于在App Store之外分发的macOS应用)。
  • 此外,请注意,在Safari中输入通用链接将不是
  • 移交给您的应用:Apple在开发论坛中表示2,他们相信如果用户已经在浏览器环境中,他们会想要呆在那里,不要突然移动到应用程序。因此,要测试通用链接,请打开apple-app-site-association,创建一个新注释,然后在此处输入/粘贴要测试的通用链接。然后,您可以单击它并询问您是否要在应用程序中打开它。

    1)抱歉,在我阅读本文时没有开发者论坛链接。

2)再一次,对不起,目前没有链接。苹果员工至少两次看到这一点,都引用了Notes.app技巧。即使他们在那里谈论iOS,在macOS上也是如此。

© www.soinside.com 2019 - 2024. All rights reserved.