主要是写给自己看的,记性不好,记录一下
现在去微信开发者平台申请微信支付功能,需要提供Universal Links这个url,主要用于微信和App之间的跳转。
条件:得有一个注册的域名,支持https请求,这个问问后端人员
步骤:
1.iOS开发需要做的事情:创建配置文件
如果电脑上文件的后缀名是隐藏的,打开finder-->偏好设置--->高级--->勾选上“显示所有文件扩展名”
在桌面创建一个文件(我是用文本编辑工具创建的),文件内部是固定格式的json字符串,该文件名需要命名为 apple-app-site-association,无任何文件后缀,如果是文本编辑创建的,需要把.rtf去掉,例子:
json文件内容details数组里有两个对象,上面那个是一个范例。其实写一组就可以。
appID对应的是一个字符串,格式是 teamID.bundleID,其中teamID需要去苹果开发者官网上查看,登录之后,打开Account,点击左侧菜单中的MemberShip,就能看到teamID了,bundleID就是app项目里的bundleID,中间用一个点拼接起来
paths是对应的若干个你的app支持的路径,只有指定的这几个路径,app才会去相应的作出处理,比如:你的path写的是”/customer/”,当用户点击网址“你的域名/customer/list”这个链接的时候,才会跳转到你的app,如果点击"你的域名/order"这样的链接就不会跳转了,*号代表任一路径,所有路径皆可跳转到app,path路径区分大小写
也可以用vim命令行工具创建这个文件
将该文件创建好之后,传给后端人员,让后端开发人员上传到服务器
ps:其实我觉得吧,这个事情完全可以教给后端来操作,你只要把teamID,bundleID还有自己定义的paths给他们就可以,格式网上百度一下就可以看到,让他们用vim命令行创建这个文件上传到服务器即可
2.后端需要做的事情:
拿到iOS传过来的配置文件,新创建一个子目录到根目录下面,以存放该文件
服务器的路径,后端在服务器根目录下创建一个well-known子目录,将该json配置文件上传到这个子目录下面,完整链接应该是:https://服务器域名/well-known/apple-app-site-association
3.ios开发需要做的事:建立网页和app之间的关联
(1) 先去开发者官网上设置:在AppIDs列表中找到自己项目bundleID对应的appID,点击edit编辑,将associate domains功能开启,列表里的小绿点点亮就证明开启成功
(2)Xcode中的设置:Target-->Capablities-->Associated domains ,开启该项,点+号添加域名,可以添加多个,格式为:applinks:服务器域名
(3) 唤醒app时的逻辑代码处理:打开Xcode的Appdelegate文件,实现下面的方法:
-(BOOL)application:(UIApplication*)application continueUserActivity:(NSUserActivity*)userActivity restorationHandler:(void(^)(NSArray*_Nullable))restorationHandler {
NSLog(@" %@",userActivity.webpageURL.description);
returnYES;
}
验证是否介入成功,可在备忘录上输入网址:https://服务器域名/apple-app-site-association ,长按这个链接,弹出弹框,提示在Safari中打开,在域名中打开,就代表配置成功了
网友评论