1、apple-app-site-association文件
終端創建文件,例子格式如下:
{
"applinks": {
"apps": [],
"details": [
{
"appID": "teamid. bundleID",
"paths": ["/h/app/download/"]
},
{
"appID": "teamid. bundleID",
"paths": ["/h/app/download/"]
}
]
}
}
編輯好后,文件不用有后綴名。
關於APPID說明,teamid+bundleID
path,自己隨便找一個H5路徑,或者直接*
2、將apple-app-site-association文件提供給后端,放在web服務器域名.well-known目錄下。主意每次更新文件,APP需要卸掉重裝才會更新apple-app-site-association文件配置,調試時這個很坑。
UniverSal Link必須支持https
3、登陸Appledevelop,設置APPID支持Associated Domains,Xcode,找到對應權限,添加applinks:域名,這里的域名不要帶https。
4、測試配置是否正確;
APP運行安裝后,打開Safari,訪問域名+path完整鏈接,上下滑動出現APP打開鏈接,說明配置成功。
5、微信分享等功能支持;
下載最新版本微信SDK,
注冊微信[WXApi registerApp:@"appid" universalLink:域名加path完整路徑];
這時候發現打不開微信,因為需要info中LSApplicationQueriesSchemes添加weixin、weixinULAPI
然后可以打開微信。
微信開放平台配置UniverSal Link為完整路徑,與上述需要一致。
踩到的坑:
1、有個項目是集成UM分享的,友盟新版本的還沒有api支持新版本微信分享,需要自己調用
[WXApi registerApp:@"APPID" universalLink:@"域名+path"];
2、配置好后,發現跳轉微信,在認證界面又跳回APP。
需要實現AppDelegate代理方法
-
(BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray<id
> * _Nullable))restorationHandler { return [WXApi handleOpenUniversalLink:userActivity delegate:self];
}
然后就可以正常使用微信功能了。