IOS Universal Links APP,HTML,SERVER

APP环境:macOS Catalina 10.15.2,Xcode 11.3,Swift 5.0

提示:本人亲测有效,Universal Links 最低支持版本(Xcode 7,IOS 9)

SERVER

1.有一个注册的域名,注意:有打开APP按钮页面的访问地址里的域名不要和这个注册的一样,不要放在同一个!不要放在同一个!不要放在同一个!

2.支持https请求,并且CA证书是有效的

3.IOS工程师编写文件名为(apple-app-site-association)JSON文件,记住不要带文件格式!不要带文件格式!不要带文件格式!文件内容为:

{

  "applinks": {

    "apps": [],

    "details": [

      {

        "appID": "xxxxxxxxx.Bundle Id",

        "paths":[ "/xxxxxx/*" ]

      }

    ]

  }

}

我们只需要更改appID和paths,其他的是固定的,xxxxxxxxx.Bundle Id

xxxxxxxxx是teamId获取方式:

一.开发苹果开发者网站查看

二.打开电脑的钥匙串,查看正式的已安装的证书名字后面会跟着括号(),括号里面的内容就是teamId

paths是自定义的:

一.只填*代表是任何内容

二.也可以是固定的/Test/open

三.建议是/项目名称/open,这样比较好理解

4.apple-app-site-association文件一定要放在访问该域名服务器的根目录下,例如https://www.domain.com在浏览器显示出apple-app-site-association文件的内容说明配置成功

5.写个open.html文件,内容是进入页面打开itms-apps://itunes.apple.com/app/idxxxxxxxxxx?mt=8即可

6.open.html部署的请求地址要和apple-app-site-association文件里面配置的paths要一样例如:paths配置的是/Test/open,那么https://www.domain.com/Test/open一定要能打开open.html文件,先不要纠结为什么这么配置。下面是流程图

IOS Universal Links APP,HTML,SERVER_第1张图片

APP

1.申请一个开发者账号,申请证书

2.申请Bundle Id,打开Associated Domains

3.生成.mobileprovision文件,在电脑必须确认已经替换.mobileprovision

4.在你想使用该功能的项目选中TARGETS-->Singing & Capabilities (里面的+ Capability),展示出列表选择Associated Domains,点+,填写内容applinks:www.domain.com,applinks:是固定的,www.domain.com上面提及的域名

5.代码阶段:在AppDelegate,实现以下方法

func application(_application:UIApplication, continue userActivity:NSUserActivity, restorationHandler:@escaping([UIUserActivityRestoring]?) ->Void) ->Bool

{

 let absoluteString = userActivity.webpageURL?.absoluteString

//absoluteString就是https://www.domain.com/Test/open

//带参数:https://www.domain.com/Test/open?type=1

}

其他:

https://www.domain.com/Test/open可以带参数如:

https://www.domain.com/Test/open?type=1和get请求带参是一样的,带参数不需要改任何配置

你可能感兴趣的:(IOS Universal Links APP,HTML,SERVER)