从iOS9开始,通用链接可以在iOS上运行,但我想知道macOS上是否有这样的东西?我们有一个应用程序,它是一个带有相应Web应用程序的macOS-App,我们希望用户点击链接在Mac-App中打开,而不是用目标链接打开浏览器。
在macOS上无论如何都可以吗?我刚刚找到了适用于iOS的样本,但没有找到macOS的样本?!?
答案 0 :(得分:4)
在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首次选择该关联可能很烦人。 调试提示:
Console.app
并过滤swcd
,这是负责相关Web凭据和通用链接的守护程序。有时,您会看到提示为什么它不起作用(例如拒绝apple-app-site-association
文件)。swcd
守护进程,以使其由launchd
重新启动,然后获取对apple-app-site-association
文件所做的更改/修复。 iOS和macOS通常都应在“应用程序安装” 1 上重新加载此文件(尚未更清楚地指定此内容;我想它们的意思是App Store的安装/更新,但我不知道何时安装这是为在App Store外部分发的macOS应用加载的。)Notes.app
,创建一个新注释,然后在其中输入/粘贴要测试的通用链接。然后,您可以单击它并询问您是否要在应用程序中打开它。1)对不起,我在阅读本文时没有开发者论坛链接。
2)再次抱歉,目前没有链接。苹果员工至少两次看到这一点,他们都引用了Notes
技巧。即使他们在那里谈论iOS,在macOS上也是如此。