info.plist 中须要添加(实测没填写的话不会去判断是否安装了此APP)web
须要跳转的按钮点击事件: func copyStrKey(_ sender: UIButton) { let pboard = UIPasteboard.general pboard.string = self.productModel["search_key"].stringValue var titleStr = "" var jumpStr = "" if sender.tag == 0 { titleStr = "关键词复制成功,是否跳转到手机淘宝APP?" jumpStr = ("taobao://s.taobao.com/search?q=" + self.productModel["search_key"].stringValue).addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)! } else if sender.tag == 1 { titleStr = "淘口令复制成功,是否跳转到手机淘宝APP?" jumpStr = "taobao://item.taobao.com/item.htm" } let alertCtr = UIAlertController.init(title: titleStr, message: nil, preferredStyle: UIAlertControllerStyle.alert) alertCtr.addAction(UIAlertAction.init(title: "取消", style: UIAlertActionStyle.cancel, handler: nil)) alertCtr.addAction(UIAlertAction.init(title: "肯定", style: UIAlertActionStyle.default, handler: { (action) in if let url = URL.init(string: jumpStr) { if UIApplication.shared.canOpenURL(url) == true { UIApplication.shared.openURL(url) } else { let alertC = UIAlertController.init(title: "您未安装手机淘宝APP,是否前往AppStore下载安装?", message: nil, preferredStyle: UIAlertControllerStyle.alert) alertC.addAction(UIAlertAction.init(title: "取消", style: UIAlertActionStyle.cancel, handler: nil)) alertC.addAction(UIAlertAction.init(title: "肯定", style: UIAlertActionStyle.default, handler: { (action: UIAlertAction) in let AppStoreVC = UIViewController.init() AppStoreVC.modalTransitionStyle = UIModalTransitionStyle.coverVertical let webView = UIWebView.init(frame: AppStoreVC.view.bounds) let request = NSURLRequest.init(url: URL.init(string: "itms-apps://itunes.apple.com/cn/app/tao-bao-sui-shi-sui-xiang/id387682726?mt=8")!) //AppStore手机淘宝地址 webView.loadRequest(request as URLRequest) AppStoreVC.view.addSubview(webView) self.present(AppStoreVC, animated: true, completion: { AppStoreVC.dismiss(animated: true, completion: nil) }) })) self.present(alertC, animated: true, completion: nil) } } })) self.present(alertCtr, animated: true, completion: nil) }
URL 不能包含 ASCII 字符集中, 不是必须这样的字符进行转义的字符。
使用 stringByAddingPercentEncodingWithAllowedCharacters
字符集 URLQueryAllowedCharacterSetapp
一、首页
tmall://tmallclient/
二、详情(须要id)
tmall://page.tm/itemDetail?id=556107550107
三、搜索列表
tmall://page.tm/search?q=1234ui