自iOS9以来,通用链接可在iOS上使用,但我想知道macOS上是否存在类似的功能?我们有一个带有相应Web应用程序的macOS-App应用程序,我们希望用户单击链接以在Mac-App中打开链接,而不是使用目标链接打开浏览器。
在macOS上是否有可能?我刚刚找到了适用于iOS的示例,但未找到适用于macOS的示例?!?
在macOS上支持通用链接需要您的应用程序和网站(以及macOS 10.15+)的支持。
请参阅Apple的文档Allowing Apps and Websites to Link to Your Content了解详细信息(该文章处理iOS,tvOS和macOS的深层链接)及其子文章Enabling Universal Links和Handling 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通常都应在“应用程序安装” 1apple-app-site-association
,创建一个新注释,然后在此处输入/粘贴要测试的通用链接。然后,您可以单击它并询问您是否要在应用程序中打开它。1)抱歉,在我阅读本文时没有开发者论坛链接。
2)再一次,对不起,目前没有链接。苹果员工至少两次看到这一点,都引用了Notes.app
技巧。即使他们在那里谈论iOS,在macOS上也是如此。