Swift canOpenURL() 错误 iOS9 隐私问题 tel:// 和 telprompt://
Swift canOpenURL() error iOS9 privacy issue tel:// and telprompt://
@IBAction func callfriendbutton(sender: AnyObject) {
let phoneNumberstring = NSUserDefaults.standardUserDefaults().stringForKey("phoneNum");
var escapednum: String = phoneNumberstring!.stringByAddingPercentEscapesUsingEncoding(NSUTF8StringEncoding)!
let urlString = "telprompt://\(escapednum)";
let url = NSURL(string: urlString);
if UIApplication.sharedApplication().canOpenURL(url!) {
UIApplication.sharedApplication().openURL(url!);
}
}
我尝试了所有方法,但仍然无法正常工作,我还在我的 info.plist 中添加了允许 tel 和 telprompt 工作但这是我得到的错误
2016-03-27 03:18:24.013 TACTAC[64525:4775035]-canOpenURL:URL 失败:"telprompt://1234567891" - 错误:“(null )"
为什么要加上stringByAddingPercentEscapesUsingEncoding
这个一般在Web里用Url
你可以尝试下面的代码,如果它适合你的话
let strCallNo: String = "1234567891"
let trimmedString = strCallNo.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceCharacterSet())
let telUrl:NSURL? = NSURL(string:trimmedString)
if ((telUrl) != nil){
if(UIApplication.sharedApplication().canOpenURL(telUrl!)){
UIApplication.sharedApplication().openURL(NSURL(string: "telprompt://"+strCallNo)!)
}else
{
print("Call not available")
}
}
@IBAction func callfriendbutton(sender: AnyObject) {
let phoneNumberstring = NSUserDefaults.standardUserDefaults().stringForKey("phoneNum");
var escapednum: String = phoneNumberstring!.stringByAddingPercentEscapesUsingEncoding(NSUTF8StringEncoding)!
let urlString = "telprompt://\(escapednum)";
let url = NSURL(string: urlString);
if UIApplication.sharedApplication().canOpenURL(url!) {
UIApplication.sharedApplication().openURL(url!);
}
}
我尝试了所有方法,但仍然无法正常工作,我还在我的 info.plist 中添加了允许 tel 和 telprompt 工作但这是我得到的错误
2016-03-27 03:18:24.013 TACTAC[64525:4775035]-canOpenURL:URL 失败:"telprompt://1234567891" - 错误:“(null )"
为什么要加上stringByAddingPercentEscapesUsingEncoding
这个一般在Web里用Url
你可以尝试下面的代码,如果它适合你的话
let strCallNo: String = "1234567891"
let trimmedString = strCallNo.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceCharacterSet())
let telUrl:NSURL? = NSURL(string:trimmedString)
if ((telUrl) != nil){
if(UIApplication.sharedApplication().canOpenURL(telUrl!)){
UIApplication.sharedApplication().openURL(NSURL(string: "telprompt://"+strCallNo)!)
}else
{
print("Call not available")
}
}