适用于 Swift 4.2+ 和 iOS 9+
方法 1:(启动 WhatsApp 应用程序(如果已安装))
let phoneNumber = "+989160000000" // you need to change this number
let appURL = URL(string: "https://api.whatsapp.com/send?phone=\(phoneNumber)")!
if UIApplication.shared.canOpenURL(appURL) {
if #available(iOS 10.0, *) {
UIApplication.shared.open(appURL, options: [:], completionHandler: nil)
}
else {
UIApplication.shared.openURL(appURL)
}
}
方法二:(使用safari打开WhatsApp短链接网页)
let phoneNumber = "+989160000000" // you need to change this number
let appURL = URL(string: "https://wa.me/\(phoneNumber)")!
if UIApplication.shared.canOpenURL(appURL) {
if #available(iOS 10.0, *) {
UIApplication.shared.open(appURL, options: [:], completionHandler: nil)
} else {
UIApplication.shared.openURL(appURL)
}
}
注意:电话号码中的“+”即可。
您可以结合使用这两种方法:
func createWhatsappURL(phoneNumber: String) -> URL {
return URL(string: "https://api.whatsapp.com/send?phone=\(phoneNumber)")!
}
func createWebWhatsappURL(phoneNumber: String) -> URL {
return URL(string: "https://wa.me/\(phoneNumber)")!
}
func openURL(_ url: URL) {
if #available(iOS 10.0, *) {
UIApplication.shared.open(url, options: [:], completionHandler: nil)
} else {
UIApplication.shared.openURL(url)
}
}
func openWhatsapp(withPhoneNumber phoneNumber: String) {
let appURL = createWhatsappURL(phoneNumber: phoneNumber)
let webURL = createWebWhatsappURL(phoneNumber: phoneNumber)
if UIApplication.shared.canOpenURL(appURL) {
openURL(appURL)
} else {
openURL(webURL)
}
}
// usage
let phoneNumber = "+989160000000" // you need to change this number
openWhatsapp(withPhoneNumber: phoneNumber)