IOS – 不能以编程方式打开Whatsapp聊天,但可以通过HTML来完成

我有一个具有href =“whatsapp:+(xxxxxxxxx)”的锚点的网页,如果我点击它在我的iPhone(iOS 9)上,它会打开WhatsApp在聊天视图中的联系人(我可以看到所有的聊天,我与联系人做)。 但是,如果我以编程方式(相同的url),它只会打开聊天选项卡上的WhatsApp。

我已经尝试了其他方式做到这一点(使用地址簿api,并使用“whatsapp://发送?阿比德= RECORDID”),但都失败。

任何帮助都感激不尽。

您应该将WhatsApp URLscheme添加到您的应用程序Info.plist

<key>LSApplicationQueriesSchemes</key> <array> <string>whatsapp</string> </array> 

根据苹果开发者文件

重要如果您的应用程序在iOS 9.0或之后进行了链接,则必须声明要传递给此方法的URLscheme。 通过在Xcode项目的Info.plist文件中使用LSApplicationQueriesSchemes数组来执行此操作。 对于您希望应用程序使用此方法的每个URLscheme,请将其作为string添加到此数组中。

如果您的(iOS 9.0或更高版本)应用程序使用您尚未声明的scheme调用此方法,则该方法返回NO,无论该scheme的适当应用程序是否安装在设备上。

使用xcode 8.3.2和swift 3正常工作

  let date = Date() let msg = "Hi my dear friends\(date)" let urlWhats = "whatsapp://send?phone=phoneNumber&abid=phoneNumber&text=hi" if let urlString = urlWhats.addingPercentEncoding(withAllowedCharacters: NSCharacterSet.urlQueryAllowed) { if let whatsappURL = NSURL(string: urlString) { if UIApplication.shared.canOpenURL(whatsappURL as URL) { UIApplication.shared.openURL(whatsappURL as URL) } else { print("please install watsapp") } } }