你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發基礎 >> iOS9 UniversalLink使用

iOS9 UniversalLink使用

編輯:IOS開發基礎

1簡介

通用鏈接是Apple在WWDC2015上為iOS9引入的一個新功能,是通過傳統HTTP鏈接來啟動App的技術。可以使用相同的網址打開網站和App。

通過唯一的網址,就可以鏈接到App中具體的視圖,不需要特殊的schema。如果用戶沒有安裝App則鏈接到對應的普通網頁。

2先決條件

l至少Xcode7

l至少iOS9beta2(之前的測試版本要做額外的工作)

l有一個注冊通過SSL訪問的域名

3操作步驟

3.1注冊App並打開Associated Domains服務

如果你還沒有注冊App,則需要登陸developer.apple.com注冊一個。

在Identifiers下AppIDs找到自己的App ID,編輯打開Associated Domains服務。

blob.png

選中,並保存。

3.2在Xcode中開啟Associated Domains服務

a.打開Associated Domains服務

blob.png

如果出現如下圖所示的情況請檢查下自己所選的組是否正確,以及Xcode工程中的bundle identifier和注冊的App Identifier是否一致。

blob.png

b.添加域名,點擊Associated Domains的“+”添加前綴為applinks:的域名,如下圖所示

blob.png

c.確認在entitlements文件包含在工程中

3.3配置apple-app-site-association文件

a.創建apple-app-site-association的json文件

文件格式如下圖所示:

blob.png

其中apps項必須對應一個空的數組。details項對應一個字典的數組,網站所能支持的每個app一個字典。

appID對應項由前綴和ID兩部分組成,可以在developer.apple.com中的Identifiers→AppIDs中點擊對應的App ID查看。

blob.png

paths對應域名中的path,用於過濾可以跳轉到App的鏈接,支持通配符‘*’,‘?’以及‘NOT’進行匹配,匹配的優先級是從左至右依次降低。

b.服務器配置要求:

域名需要SSL證書,如果不支持HTTPS,則需要對apple-app-site-association進行SSL認證。認證命令如下:

cat apple-app-site-association-unsigned | openssl smime -sign -inkey yourdomain.com.key -signer yourdomain.com.cert -certfile digicertintermediate.cert -noattr -nodetach -outform DER > apple-app-site-association

服務器配置要求站點必須是youdomain.com/apple-app-site-association,請求頭是‘application/pkcs7-mime’,返回HTTP碼是200。

3.4響應處理

點擊鏈接跳入App,由UIApplicationDelegate中的application:continueUserActivity:restorationHandler:函數進行處理,通過如下方式獲取URL,然後對不同的URL進行不同的響應。

blob.png

4一些注意的事項

1.apple-app-site-association不需要.json後綴。

2.如果要對沒有path的域名進行支持(如:www.163.com),在json文件的paths中用通配符’*’是不行的,需要在paths數組中加入’/’進行匹配。

3.對json文件的請求僅在App第一次啟動時進行,如果此時網絡連接出了問題apple會緩存請求,等有網的時候再去請求,而實際測試抓包並沒有請求故通用連接會失效。

4.paths匹配的優先級是從左至右依次降低,但需要明確,否則會出問題。比如"paths":[ "NOT /together/*","*"],在IOS9.2上path為/together/*都不會跳到App,但是在IOS9.0上會跳到。

5.從iOS 9.2開始,在相同的domain內Universal Links是不work的,必須要跨域才生效



  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved