闲笔杂谈

761 阅读2分钟

前言

最近的项目依旧很忙,依旧没有大块的时间来整理之前做过的东西,总结项目中的坑和知识点。但是总是想输出点什么,整篇copy人家的没有自己的理解似乎也没有什么意义。那就随便记录下最近遇到的问题。

Universal Links

iOS9之后不同App的跳转是通过Universal Links实现的,在iOS9之前schema是比较主流的一种跳转方案。Universal Links的来龙去脉就不多说了,主要讲下怎么配置。

首先看下苹果文档的说明 点这儿

1.好的,开始前首先检查下我们的设备是否支持Universal Links,我们在safari中输入 help.wechat.com/app/ 下拉查看是否有打开微信入口(如果安装了微信的话)。

2.创建apple-app-site-association文件。创建一个apple-app-site-association文件(注意是没有后缀的),其内容是json格式,官方示例如下

{
    "applinks": {
        "apps": [],
        "details": [
            {
                "appID": "TEAMIDSHSAUX.com.test.bundle",
                "paths": [ "*" ]
            }
        ]
    }
}

appID由teamID(可登录apple开发者中心查看)和BundleID(可在Xcode查看)组成。appID = teamID.bundleID

paths对应着apple-app-site-association在网站服务器下的路径,是大小写敏感,*是通配符表示任意路径,一般填写这个就可以,有些第三方比如微信会在Universal Links末尾拼接路径和参数,因此paths后必须加上通配符。

将此文件上传到web server,请一定要与后端和前端的同学沟通好位置和格式。

3.配置好web server后,我们在浏览器中拼接url可以直接下载apple-app-site-association文件。比如https://xxx.com/apple-app-site-associationhttps://xxx.com/就是你的Universal Links

4.登录apple开发者中心将Associated Domains打开,在Xcode中配置。格式为applinks:xxx.com

5.苹果也提供了一个官方网页供我们开发者来验证https://xxx.com/apple-app-site-association是否有效。验证地址

6.将app卸载重装,打开safari,输入https://xxx.com/下拉查看是否有app入口。

以上就是配置Universal Links 的步骤,如果下拉仍旧没有,则可能是以下原因导致

1.apple-app-site-association格式配置错误,请仔细检查

2.在app第一次启动时通过抓包软件查看是否下载apple-app-site-association文件,并检查文件内的内容是否正确。

3.Associated Domains里的格式没配置正确

审核问题

公司新上架的app被拒了三次主要原因如下

  1. 使用了废弃的UIWebView的内容,这个是我的锅,pod进来的sdk版本太旧导致里面包含UIWebView的代码。

  2. 使用相机相册权限时未对具体功能进行描述,正确的例如我们需要你的相机权限进行头像拍照 类似的

  3. 给予苹果的审核账号无法登录,服务端的锅。