首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >canOpenURL返回true且应用程序已安装,但应用程序未打开

canOpenURL返回true且应用程序已安装,但应用程序未打开
EN

Stack Overflow用户
提问于 2020-03-24 17:16:04
回答 1查看 294关注 0票数 2

当我使用canOpenURL打开通用链接时,(目标应用已安装)

canOpenURL返回true,但应用程序未打开(未注册LSApplicationQueriesSchemes)

但如果我使用open(_ url, options)应用程序正在打开

如果我要为没有注册LSApplicationQueriesSchemes负责,我如何注册LSApplicationQueriesSchemes的通用链接?(https://www.aaa.com)

代码语言:javascript
复制
<key>LSApplicationQueriesSchemes</key>
<array>
<string>https://www.aaa.com</string>
</array>

是像这样吗?

EN

回答 1

Stack Overflow用户

发布于 2020-03-25 01:22:46

如果AAA是你试图打开的应用,还有另一种方法可以从你的应用内部启动它。您需要获取目标应用程序使用的CFBundleURLSchemes

AAA的"aaamobile“和AAA汽车俱乐部的"aaamobileace”

然后,您需要将url方案添加到plist中:

代码语言:javascript
复制
<key>LSApplicationQueriesSchemes</key>
<array>
    <string>aaamobile</string>
</array>

然后在您的代码中,您可以检查应用程序是否已安装,并启动应用程序或将用户带到网站:

代码语言:javascript
复制
    guard let url = URL(string: "aaamobile://") else { return }
    if UIApplication.shared.canOpenURL(url) {
        UIApplication.shared.open(url, options: [:], completionHandler: nil)
    } else {
        UIApplication.shared.open(URL(string: "https://www.aaa.com")!, options: [:], completionHandler: nil)
    }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60828031

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档