【发布时间】:2017-01-09 11:59:58
【问题描述】:
我想在我的所有应用程序中进行深度链接 (openurl),每个应用程序包标识符都从 com.app.something-something (com.app.*) 开始,所有应用程序的列表都来自服务器。
那么,如何在 Info.plist 的 LSApplicationQueriesSchemes 中使用单个条目作为通配符打开此应用程序。额外检查手机中安装了多少应用程序。
有什么想法吗?提前致谢。
【问题讨论】:
我想在我的所有应用程序中进行深度链接 (openurl),每个应用程序包标识符都从 com.app.something-something (com.app.*) 开始,所有应用程序的列表都来自服务器。
那么,如何在 Info.plist 的 LSApplicationQueriesSchemes 中使用单个条目作为通配符打开此应用程序。额外检查手机中安装了多少应用程序。
有什么想法吗?提前致谢。
【问题讨论】:
不幸的是,没有办法在 LSApplicationQueriesSchemes 中使用通配符。
但是您可以打开任何指向其他应用程序的链接,而无需使用open 方法在 LSApplicationQueriesSchemes 中声明它,唯一的一点是您不能保证您的应用程序将被安装以处理该链接。
要检查您的其他应用程序是否已安装,您必须使用canOpenURL 方法,但在这种情况下,如果它未在 LSApplicationQueriesSchemes 下列出,该方法将始终返回 false。
你可以做的是在你所有的应用程序中列出你所有的应用程序在 LSApplicationQueriesSchemes 下,并在你发布新版本时定期更新它,如下例所示:
<key>LSApplicationQueriesSchemes</key>
<array>
<string>com.app.myapp1</string>
<string>com.app.myapp2</string>
<string>com.app.myapp3</string>
</array>
【讨论】: