前言
平常我们做ios开发,会经常遇到打开其他的app的功能。本文主要介绍了关于ios实现应用内跳转到手机淘宝天猫的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。
info.plist 中需要添加(实测没填写的话不会去判断是否安装了此app)
代码如下:
需要跳转的按钮点击事件:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
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
字符集 urlqueryallowedcharacterset
跳转天猫:
1、首页
tmall://tmallclient/
2、详情(需要id)
tmall://page.tm/itemdetail?id=556107550107
3、搜索列表
tmall://page.tm/search?q=1234
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对服务器之家的支持。
原文链接:https://segmentfault.com/a/1190000012568326