我面临一个非常有趣的问题。我已经编写了从我的应用程序打开 WhatsApp 的代码(如下所示)。当设备中未安装 whatsapp 时,我还处理了向用户显示 toast 消息的问题。此代码运行良好,但如果设备安装了 Boltt Health App ( https://itunes.apple.com/in/app/boltt-health-fitness-anytime/id1244375641?mt=8 ) 并且没有 Whatsapp,那么它不会显示“请从 App Store 安装 whatsapp”消息,而是打开 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 方案:
我不知道为什么这个应用会这样做,而且它可能不应该这样做。
我不确定你能做些什么; Apple 未注册或保护 URL 方案。您可以尝试联系应用程序开发人员并询问他们为什么要注册这些 URL 方案。也许这是一个错误。
我注意到该应用在其 LSApplicationQueriesSchemes
中确实包含了 WhatsApp 和 FaceBook,所以他们可能不小心将它们包含在 URL 类型键中而忘记删除它们。
关于ios - Whatsapp 打开 url 代码打开 Boltt Health App 而不是 ios 中的 whatsapp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55235176/