2016-03-17 40 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") 
      } 
     } 
    } 
相關問題