ios macCatalyst上的通用链接不工作

gjmwrych  于 12个月前  发布在  iOS
关注(0)|答案(2)|浏览(94)

我在iOS上有一个正确工作的通用链接集成。如果我点击iOS中的链接Notes.app,它就会打开应用程序并调用scene(_ scene: UIScene, continue userActivity: NSUserActivity)方法。但是,如果我将应用程序作为macCatalyst应用程序运行,则相同的设置不起作用。
使用Branch.io AASA validatorswcd Console.app日志验证Apple App Site Associations文件是否已正确下载。在iOS上,正确的条目显示在系统诊断/swcutil_show. txt文件中,在macCatalyst上进行下载,但swcutil_show. txt为空。
我还观看了关于macOS universal link的WWDC会议,并进行了相应的测试(首先启动的是由XPoperID签名的构建)。
macCatalyst应用程序是否需要任何特殊处理?(授权,AASA JSON格式更改)?
提前感谢您提供的任何关于如何深入了解这一点的建议!

ilmyapht

ilmyapht1#

我花了很长时间试图调试这个,结果(至少对我来说)它实际上“按预期工作”。
这里的关键点是Safari必须是macOS上的默认浏览器。您可以在系统偏好设置->通用->默认Web浏览器中进行更改。将Safari作为默认浏览器时,首次单击Universal Link将打开Safari,但地址字段下方会显示一个横幅,让您可以选择直接打开相应的应用程序。如果您选择此选项,所有后续点击通用链接将直接打开应用程序。在这一点上,即使将浏览器更改为非Safari浏览器,似乎也会保持链接与应用程序的连接。
System Diagnosicts/swcutil_show.txt文件为空似乎是一个红色的鲱鱼。这个文件最终总是空的,即使通用链接是正确的工作,如上所述。
最后一个观察,与您的默认浏览器设置为Safari以外的东西,你也应该能够打开相应的应用程序,右键单击链接,并选择打开与->您的应用程序。不幸的是,此选择不会保存为设置,因此“正常”单击链接将永远打开浏览器,除非您至少使用Safari执行一次上述过程。

zhte4eai

zhte4eai2#

如前所述,@julsh的答案通用链接只适用于Safari浏览器,并强制将默认浏览器设置为Safari。

下面的解决方案,我已经使用从其他浏览器打开应用程序。

我已经实现了通用链接和深度链接。例如,我有一个网页com.test.com(通用链接),将与Safari浏览器,对于其他浏览器相同的链接com.test.com,我会加载后,从网页端加载此页面,我们将运行URL查询方案,需要从网页端做,我们必须提供查询方案,例如. test://(Deep Linking)to web page developer.一旦一切发生,它会显示像下面弹出。

相关问题