2016-03-17 39 views
3

我有一个带有href =“whatsapp:+(xxxxxxxxx)”的锚点的网页,如果我在我的iPhone上单击它(iOS 9),它会在该联系人的聊天视图中打开WhatsApp(我可以看到与联系人进行的所有聊天)。 但是,如果我以编程方式执行(相同的URL),它只会在聊天选项卡上打开WhatsApp。IOS-不能以编程方式打开Whatsapp聊天,但可以通过HTML

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

任何帮助将不胜感激。

回答

7

你应该在WhatsApp的URL方案添加到您的应用程序的Info.plist

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

根据Apple Developer documentation

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

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

1

做工精细和Xcode 8.3.2和快捷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") 
      } 
     } 
    } 
相关问题