iOS - 奇怪的 openURL 问题打开错误的应用程序

iOS - strange openURL issue opening wrong app

我在产品中有一个应用程序,并且有一个功能可以打开 Instagram 应用程序供用户 post 一张照片。它工作得很好,除非用户安装了这个 horoscope app,然后当用户单击按钮时,它会打开星座应用程序而不是 instagram。

这是否意味着占星应用程序具有与 Instagram 相同的 URL 方案?是否有任何内置保护措施来防止其他应用使用您的 URL 方案?

Apple 不强制应​​用方案的唯一命名。如果您使用与另一个应用程序相同的方案,iOS 无法知道要启动哪个应用程序。所以是的,这两个应用程序都使用相同的 URL 方案。 如果您只想通过 Instagram 分享,您可以使用文档交互 API。 您可以找到更多信息 HERE

对我来说,这是因为我将 "googlegmail" 键添加到 Info.plist 中的 "URL Schemes" 键而不是 "LSApplicationQueriesSchemes" 键。

LSApplicationQueriesSchemes 密钥是添加 "googlegmail" 的正确密钥,以便能够从我的应用程序打开 gmail。

"URL Schemes" 部分中的 "googlegmail" 键基本上告诉 iOS 我的应用程序可以打开带有 googlegmail:// URL 前缀的 url,这是不正确的,因为我的应用不是 Gmail。