Whatsapp 打开 url 代码打开 Boltt Health App 而不是 ios 中的 whatsapp

Whatsapp open url code opens Boltt Health App instead of whatsapp in ios

我遇到了一个非常有趣的问题。我已经编写了从我的应用程序打开 WhatsApp 的代码(如下所示)。当设备中未安装 whatsapp 时,我还处理了向用户显示 toast 消息的问题。这段代码工作得很好,但是如果设备安装了 Boltt Health App (https://itunes.apple.com/in/app/boltt-health-fitness-anytime/id1244375641?mt=8) 而没有 Whatsapp,那么它不会显示 "Please install whatsapp from App Store" 的 toast 消息,而是打开 Boltt Health App

** 注意如果设备中没有 Boltt 应用程序,一切正常

我打开whatsapp的代码

let urlWhats = "whatsapp://send?phone=\(mobileNo)&text=\(msg)"

    if let urlString = urlWhats.addingPercentEncoding(withAllowedCharacters: NSCharacterSet.urlQueryAllowed) {
        if let whatsappURL = NSURL(string: urlString) {
            if UIApplication.shared.canOpenURL(whatsappURL as URL) {
                if #available(iOS 10.0, *) {
                    UIApplication.shared.open(whatsappURL as URL, options: [ : ],  completionHandler: nil)
                } else {
                    UIApplication.shared.openURL(whatsappURL as URL)
                }
            } else {
                CommonMethods.showToast(messsage: "Please install whatsapp from App Store", view: view)
            }
        }
    }

这是一个非常奇怪的问题,非常感谢任何建议。 提前致谢

我从这个应用程序中提取了 Info.plist。由于某种原因,它同时注册了 whatsapp URL 方案和 facebook URL 方案:

我不知道为什么这个应用程序会这样做,它可能不应该这样做。

我不确定你能做些什么; URL 方案未在 Apple 注册或保护。您可以尝试联系应用程序开发人员并询问他们为什么要注册这些 URL 方案。也许这是一个错误。

我注意到该应用程序确实在其 LSApplicationQueriesSchemes 中包含 WhatsApp 和 FaceBook,所以他们可能不小心将它们包含在 URL 类型键中而忘记删除它们。