线上用户通过我们的App分享微信朋友圈,在朋友圈下面会出现"未验证应用"的标识,查明原因,解决这个问题需要先实现Universal Link!!!此篇文章就是关于Universal部署的一篇博客,看到的小伙伴希望能解决你的问题,关于微信分享的二次跳转后续会再更新一篇。下面是正文:
关于Universal Link:
Universal Link(通用链接)是Apple在WWDC2015上为iOS9引入的一个新功能,是通过传统HTTP链接来启动App的技术。可以使用相同的网址打开网站和App。通过唯一的网址,就可以链接到App中具体的视图,不需要特殊的scheme。如果用户没有安装App则链接到对应的普通网页。
1.开发前的准备:
- 有一个域名
- 通过SSL访问域名(即使用HTTPS请求)
- 支持上传一个JSON文件到你的域名
- 至少iOS9 beta2 版本
- 至少Xcode 7 beta2
2.服务器MINE环境配置和apple-app-site-association路径配置(服务器)
首先创建一个名为apple-app-site-association的文件(注意没有后缀),其内容是json格式的数据。内容如下:
{
"applinks": {
"apps": [],
"details": [
{
"appID": "TeamId.BundleID",
"paths": ["/testLinks/*"]
}
]
}
}
Tips:
-
TeamID和BundleID需在开发者中心中查看
- apple-app-site-association文件无后缀,可用mac的文本编辑app制作纯文本
apple-app-site-association文件制作好后,让后台小伙伴在服务器根目录下新建一个名为".well-known"名称的文件夹,然后将apple-app-site-association文件放到“.well-known"文件夹中,并且服务器MINE配置application/json类型,配置好后可用苹果工具校验是否成功:入口
测试结果如下图说明配置成功
虽然有一个error,但是不影响使用,如果失败会爆红!
出现这种情况按上述配置逐步排查,无报错可进行下一步
3.apple证书配置(前端)
开发者中心在AppID中打开Associated Domains权限,然后save然后创建新的描述文件,安装到xcode上,ps:不用创建p12,仅创建描述文件即可
4.Xcode配置(前端)
打开Xcode →targets ->Signing&Capabilitie→确认描述证书是否是最新:可暂时关闭自动管理功能,查看描述文件是否更新,确认后可重新恢复自动管理功能
applinks:后加入域名,这里的域名不要带https和/ 我们的域名是:https://werewolf.53site.com
那么Xcode中就这么填写 applinks:werewolf.53site.com
配置之后检查Xcode中会生成一个.entitlements文件,如果没自动生成需手动添加
5.验证生效
配置好xcode后,删除手机上安装的App,重新build,在备忘录中数据"你的域名"+"apple-app-site-association文件内的路径"+123/abc
例如:https//werewolf.53site.com/testLinks/123
输入结束后长按此链接,如果配置成功会弹出在"你的app"中打开字样,说明配置成功
或者直接将链接输入在safari中,下滑页面,出现打开也说明配置成功
6.异常排查(如果你已经验证了第五步,并且生效了,请忽略这步)
这一步,你应该已经确认了上述提到的2、3、4点并且确信没有问题,但是第5点就是不能验证成功,那么你可以使用接下来的方式查找原因:
查看apple-app-site-association文件是否下载成功:
在开发中,我遇到了苹果验证工具验证成功,但是客户端下载不成功的情况,可以通过Xcode控制台查找Log查看是否真正的下载成功
Xcode =>window=>Devices and Simulators=>Open Console
Xcode->run。将控制台输出过滤为"swcd"。如果成功,你会看到类似以下的屏幕截图。
如果失败,你还会看到其他内容,例如:
Error getting enterprise-managed associated domains data. If this device is not enterprise-managed, this is normal: Error Domain=SWCErrorDomain Code=1701 "Failed to get associated domain data from ManagedConfiguration framework." UserInfo= {NSDebugDescription=Failed to get associated domain data from ManagedConfiguration framework., Line=250, Function=<private>} "
当时遇到这个问题是apple-app-site-associatio文件在.well-known文件夹下的配置不对导致的,如果还不能解决你的问题,也可参考这两篇文章排查:
https://www.jianshu.com/p/4e53ca3186d2
https://www.jianshu.com/p/b0cbd349440b
至此,我的这篇Universal Link的踩坑总结就结束了,后续会更新一篇关于微信接入Universal Links后的一些问题的排查方案,此篇文章如有遗漏疏漏的地方,欢迎指正。
微信分享二次跳转和未验证应用排查方法