簡(jiǎn)介
隨著iOS和微信SDK版本的更新,有變化肌似。
新版本,需要配置Unuversal Links诉瓦。沒(méi)辦法川队,填坑工作開(kāi)始。
Unuversal Links介紹
Seamlessly link to content inside your app, or on your website in iOS 9 or later. With universal links, you can always give users the most integrated mobile experience, even when your app isn’t installed on their device.
Universal Link(通用鏈接)是蘋(píng)果在iOS9
推出的睬澡,一種能夠方便的通過(guò)傳統(tǒng)HTTPS鏈接來(lái)啟動(dòng)APP的功能固额,可以使用相同的網(wǎng)址打開(kāi)網(wǎng)址和APP。
看起來(lái)就是一條普通的https
鏈接煞聪,當(dāng)然是我們?cè)谠撴溄佑蛎夸浥渲眠^(guò)的一個(gè)鏈接斗躏,也可以在該鏈接中放置對(duì)應(yīng)的H5頁(yè)面。當(dāng)用戶(hù)的點(diǎn)擊該鏈接昔脯,只要手機(jī)中安裝了支持該鏈接的APP就會(huì)直接進(jìn)入到APP中啄糙。如果沒(méi)有安裝APP則會(huì)跳轉(zhuǎn)到Safari
瀏覽器中,展示H5頁(yè)面云稚。對(duì)用戶(hù)來(lái)說(shuō)則是一個(gè)無(wú)縫跳轉(zhuǎn)的過(guò)程隧饼。
詳細(xì)介紹:https://www.cnblogs.com/guoshaobin/p/11164000.html
配置Unuversal Links
其實(shí)要做的很簡(jiǎn)單,但是坑多静陈。
1.蘋(píng)果開(kāi)發(fā)者賬號(hào)打開(kāi)配置
2.XCode工程配置
打開(kāi)Associated Domains開(kāi)關(guān)桑李,將Universal Links域名加到配置上
如果沒(méi)有Associated Domains選項(xiàng),則添加窿给。
配置URL Types
配置info.plist贵白,“LSApplicationQueriesSchemes“欄添加
3.配置JSON文件
創(chuàng)建一個(gè)空白文件(必須純文本,命名為apple-app-site-association
崩泡,去除后綴名)禁荒。這里建議讓后臺(tái)人員在其本地創(chuàng)建,避免文件傳輸時(shí)角撞,文件自動(dòng)被更改格式呛伴、后綴自動(dòng)添加等問(wèn)題。
內(nèi)容如下
{
"applinks": {
"apps": [],
"details": [
{
"appID": "XXXXXXX.OOOOOOO",
"paths": [ "*" ]
}
]
}
}
說(shuō)明:XXX表示蘋(píng)果賬號(hào)的團(tuán)隊(duì)ID谒所,OOO表示項(xiàng)目的BundleID热康。
4.后臺(tái)服務(wù)器配置
把文件apple-app-site-association,放置在服務(wù)器的根目錄(不要問(wèn)我劣领,讓后臺(tái)自己去理解)姐军,然后讓他提供一個(gè)https的url地址,格式是“正式域名/apple-app-site-association”,如:https://www.baidu.com/apple-app-site-association奕锌。
達(dá)到的效果是著觉,瀏覽器打開(kāi)這個(gè)地址,可以下載這個(gè)文件惊暴。另外用GET請(qǐng)求這個(gè)地址饼丘,返回文件的JSON內(nèi)容(這里通過(guò)工具Postman進(jìn)行試驗(yàn))
注意,返回的數(shù)據(jù)辽话,不能存在亂碼肄鸽,否則說(shuō)明JSON文件有問(wèn)題。
5.微信開(kāi)放平臺(tái)配置
填寫(xiě)正式域名油啤。
6.初始化代碼
// 微信SDK注冊(cè)典徘,universal link
[WXApi registerApp:APP_ID universalLink: UNIVERSAL_LINK];
補(bǔ)充說(shuō)明:
如果后臺(tái)提供的url地址是https://www.baidu.com/apple-app-site-association
。那么村砂,
Associated Domains中填寫(xiě)applinks:www.baidu.com
,
代碼注冊(cè)方法及微信開(kāi)放平臺(tái)中都填https://www.baidu.com/
屹逛,
微信登錄
微信文檔中础废,重寫(xiě)的方法,適用于iOS10以前罕模。
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
return [WXApi handleOpenURL:url delegate:self];
}
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
return [WXApi handleOpenURL:url delegate:self];
}
添加方法
-(BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options{
return [WXApi handleOpenURL:url delegate:self];
}
-(BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray<id<UIUserActivityRestoring>> * _Nullable))restorationHandler{
return [WXApi handleOpenUniversalLink:userActivity delegate:self];
}
其他資料
http://www.reibang.com/p/bb8429cd7bce
http://www.reibang.com/p/6a25b18577eb
http://www.reibang.com/p/c9c09992a6fe
http://www.reibang.com/p/ab50bdaec65d
http://www.reibang.com/p/8e8840dcd54d