iOS Universal Links詳細配置 適配微信sdk1.8.6以上版本

為了適配微信最新sdk, 最近搞了一下Universal Links, 好處就不多說了, 說一下如果不適配的壞處

  • 部分機型分享后顯示"未驗證應(yīng)用"
  • 每次打包上傳都有UIWebview使用有警告, 再不適配就上不了線了

微信sdk1.8.6.1 更新內(nèi)容

  • UIWebview切換成WKWebview
  • 支持Universal Link拉起微信以及返回App

微信注冊的方法只有下面這一個, 必須填寫Universal Links, 所以只有搞一下Universal Links了

+ (BOOL)registerApp:(NSString *)appid universalLink:(NSString *)universalLink;

Universal Links配置

第一步 配置apple-app-site-association文件

  1. 創(chuàng)建名稱為apple-app-site-association的json文件, 一定不能帶后綴, 文件內(nèi)容為
    官網(wǎng)例子
{
    "applinks": {
        "apps": [],
        "details": [
            {
                "appID": "9JA89QQLNQ.com.apple.wwdc",
                "paths": [ "/wwdc/news/", "/videos/wwdc/2015/*"]
            },
            {
                "appID": "ABCD1234.com.apple.wwdc",
                "paths": [ "*" ]
            }
        ]
    }
}

自己項目例子 按照微信寫的appID以微信為例

{
    "applinks": {
        "apps": [],
        "details": [
            {
                "appID": "HQH47S9JSQ.help.wechat.com",
                "paths": [ "/app/*" ]
            }
        ]
    }
}

內(nèi)容解釋

  • details: 是個數(shù)組, 可以配置多個app
  • appID: TeamID + '.' + BundleID, 看上面例子應(yīng)該很好理解, TeamID在哪兒呢, 下面會提到.
  • paths: 域名后拼接的路徑, 不能帶query參數(shù), 微信使用Universal Links拉起第三方App時砂轻,會在Universal Links末尾拼接路徑和參數(shù),因此App配置的paths必須加上通配符/*, 按照微信配置的例子, Universal Links就是https://help.wechat.com/app
  1. apple-app-site-association文件上傳服務(wù)器
    服務(wù)器一定要支持https, 讓服務(wù)端的同學把json文件上傳到域名的根目錄下或者.well-known目錄下,蘋果會優(yōu)先去.well-known文件夾下找, 如果沒有就去跟目錄下載, 我們是兩個地方都傳了.
    https://xxx/apple-app-site-association
    https://xxx/.well-known/apple-app-site-association
    上傳完成后, 點擊上面的鏈接應(yīng)該是下載json文件就對了, 打開看一下內(nèi)容對不對, 一定是下載json文件, 不是直接打開

上傳完成后可以先驗證一下蘋果驗證工具, 輸入https://xxx/.well-known/apple-app-site-association, 等出現(xiàn)下圖提示就可以

鏈接驗證

第二步 開啟Associated Domains

  1. 登錄公司的開發(fā)者賬號, 找到Identifiers-->appId, 勾選Associated Domains
    下面有第一步要的TeamID

    Associated Domains1

    點擊保存時會彈窗提示
    提示

    大概意思是斤吐,使用該appId的配置文件都會無效搔涝,必須重新生成, 所以只要用到該appId的文件都要重新配置, 下圖看出, 重新配置的有推送證書pp描述文件, 配置完后下載更新.
    證書配置參考
    證書配置

  2. 打開Xcode 添加Associated Domains


    Associated Domains2

添加Universal Links


Associated Domains3
  • Domains: 內(nèi)容為applinks:+域名, 例如上面的例子為applinks:help.wechat.com, 不用加/app/*

添加完后項目中會多一個.entitlements文件


.entitlements

--->到此Universal Links就配置完成了: https://help.wechat.com/app

第三步 驗證Universal Links
驗證方式找了兩種

  1. 備忘錄驗證
    打開備忘錄輸入https://help.wechat.com/app點擊會直接跳轉(zhuǎn)自己的app, 或者長按會彈窗 在"app"中打開
  2. Safari瀏覽器驗證
    在瀏覽器中輸入https://help.wechat.com/app, 打開網(wǎng)站后一定要下拉, 會有類似這樣的彈窗, 點擊打開會直接跳轉(zhuǎn)APP.
    Safari驗證

第四步 微信配置Universal Links

  1. 微信要求填寫格式是https開頭,"/"結(jié)尾, 所以填寫https://help.wechat.com/app/
    微信平臺
  2. AppDelegate配置
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // 注冊
    [WXApi registerApp:kWXAppID universalLink:kUniversalLinks];
    // 測試函數(shù) step為WXULCheckStepFinal時,表示檢測通過和措,Universal Link接入成功
    [WXApi checkUniversalLinkReady:^(WXULCheckStep step, WXCheckULStepResult * _Nonnull result) {
        NSLog(@"-> %ld %@",step, result);
    }];
}

// 通用鏈接會調(diào)用
- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void(^)(NSArray<id<UIUserActivityRestoring>> * __nullable restorableObjects))restorationHandler {
    if ([userActivity.activityType isEqualToString:NSUserActivityTypeBrowsingWeb]) {
        NSURL *webpageURL = userActivity.webpageURL;
        if ([webpageURL.absoluteString isEqualToString:kUniversalLinks]) {
            // 如果UniversalLinks跳轉(zhuǎn) 會到這里
            NSLog(@"%@",webpageURL);
        } else {
            [[UIApplication sharedApplication]openURL:webpageURL];
        }
    }
    return [WXApi handleOpenUniversalLink:userActivity delegate:self];
}

注意點

  1. 如果什么都配置正確了, 還是調(diào)不起app, 就把app刪除了重新安裝一下.
  2. 如果什么都配置正確了, 分享到其他app里面就不跳轉(zhuǎn)了, 是因為未跨域?qū)е碌? 如:分享到微信的鏈接是https://help.wechat.com/share.html, 然后該網(wǎng)頁中的“在app內(nèi)打開”按鈕配置的通用鏈接為https://help.wechat.com/index.html.
    跨域的意思是說, 通用鏈接和調(diào)用通用鏈接的網(wǎng)頁不能是同一域名. 即如果通用鏈接域名為help.wechat.com, 則通用鏈接所處的網(wǎng)頁域名就不能是help.wechat.com庄呈。
  3. 如果所有都配置完成了, 微信分享登錄都可以, 但是還會出現(xiàn)"未驗證應(yīng)用", 是因為未驗證應(yīng)用名單非實時更新,只有前一天有接入新SDK(1.8.6版本以上)并且有正確調(diào)用記錄派阱,第二天才會移除出名單, 并且前一天正確分享次數(shù)在10次以上.
  4. 添加測試函數(shù)checkUniversalLinkReady后诬留,每次啟動都會跳轉(zhuǎn)微信,然后再跳回app贫母,注釋掉就不會再跳微信了文兑。

微信接入文檔
未驗證應(yīng)用排查文檔
蘋果官網(wǎng)Universal Links

如果對你有所幫助請點個贊唄??

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市腺劣,隨后出現(xiàn)的幾起案子绿贞,更是在濱河造成了極大的恐慌,老刑警劉巖橘原,帶你破解...
    沈念sama閱讀 222,807評論 6 518
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件籍铁,死亡現(xiàn)場離奇詭異,居然都是意外死亡趾断,警方通過查閱死者的電腦和手機拒名,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,284評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來芋酌,“玉大人增显,你說我怎么就攤上這事「舻眨” “怎么了甸怕?”我有些...
    開封第一講書人閱讀 169,589評論 0 363
  • 文/不壞的土叔 我叫張陵,是天一觀的道長腮恩。 經(jīng)常有香客問我梢杭,道長,這世上最難降的妖魔是什么秸滴? 我笑而不...
    開封第一講書人閱讀 60,188評論 1 300
  • 正文 為了忘掉前任武契,我火速辦了婚禮,結(jié)果婚禮上荡含,老公的妹妹穿的比我還像新娘咒唆。我一直安慰自己,他們只是感情好释液,可當我...
    茶點故事閱讀 69,185評論 6 398
  • 文/花漫 我一把揭開白布全释。 她就那樣靜靜地躺著,像睡著了一般误债。 火紅的嫁衣襯著肌膚如雪浸船。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,785評論 1 314
  • 那天寝蹈,我揣著相機與錄音李命,去河邊找鬼。 笑死箫老,一個胖子當著我的面吹牛封字,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播耍鬓,決...
    沈念sama閱讀 41,220評論 3 423
  • 文/蒼蘭香墨 我猛地睜開眼阔籽,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了牲蜀?” 一聲冷哼從身側(cè)響起仿耽,我...
    開封第一講書人閱讀 40,167評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎各薇,沒想到半個月后项贺,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,698評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡峭判,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,767評論 3 343
  • 正文 我和宋清朗相戀三年开缎,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片林螃。...
    茶點故事閱讀 40,912評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡奕删,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出疗认,到底是詐尸還是另有隱情完残,我是刑警寧澤伏钠,帶...
    沈念sama閱讀 36,572評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站谨设,受9級特大地震影響熟掂,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜扎拣,卻給世界環(huán)境...
    茶點故事閱讀 42,254評論 3 336
  • 文/蒙蒙 一赴肚、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧二蓝,春花似錦誉券、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,746評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至鸥诽,卻和暖如春琴锭,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背衙传。 一陣腳步聲響...
    開封第一講書人閱讀 33,859評論 1 274
  • 我被黑心中介騙來泰國打工决帖, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人蓖捶。 一個月前我還...
    沈念sama閱讀 49,359評論 3 379
  • 正文 我出身青樓地回,卻偏偏與公主長得像,于是被迫代替她去往敵國和親俊鱼。 傳聞我的和親對象是個殘疾皇子刻像,可洞房花燭夜當晚...
    茶點故事閱讀 45,922評論 2 361