Uniapp IOS universallinks以及配置文件apple-app-site-association

本文详细介绍了如何在iOS应用中启用Universal Links功能,包括配置apple-app-site-association文件、微信支付回调、APP权限设置和HBuilder项目配置,以及注意事项。

1:Universal Link(通用链接)是Apple在iOS9推出的一种能够方便的通过传统HTTPS链接来启动APP的功能,可以使用相同的网址打开网址和APP。当你的应用支持Universal Link(通用链接),当用户点击一个链接是可以跳转到你的网站并获得无缝重定向到对应的APP,且不需要通过Safari浏览器。如果你的应用不支持的话,则会在Safari中打开该链接。

2:IOS使用微信支付时则需要配置Universal link,进行回调

3:配置指定文件:创建一个内容为json格式的文件,苹果将会在合适的时候,从我们在项目中填入的域名请求这个文件。这个文件名必须为apple-app-site-association,切记没有后缀名,文件内容大概是这样子:

{
    "applinks": {
        "apps": [],
        "details": [
            {
                "appID": "团队id.com.yixin.app1",
                "paths": [
                    "/app1/*"
                ]
            },
            {
                "appID": "团队id.com.yixin.app2",
                "paths": [
                    "/app2/*"
                ]
            },
            {
                "appID": "团队id.com.yixin.app3",
                "paths": [
                    "/app3/*"
                ]
            }
        ]
    }
}

团队Id查看

 

 

 

 

通过paths配置不同的应用links

4:将改配置文件配到域名访问根目录下(具体配置我也部署很清楚,附上后端Nginx配置参数)

 5:APP配置

        1:配置权限

2:Hbuilder项目配置

 

 "capabilities" : {
                    "entitlements" : {
                        "com.apple.developer.associated-domains" : [
                            "applinks:www.baidu.com"
                        ]
                    }
                }

         "weixin" : {
                        "__platform__" : [ "ios", "android" ],
                        "appid" : "22333232",
                        "UniversalLinks" : "https://www.baidu.com/app1/"
                    }

6:打包运行测试

如果配置成功在safari里打开路径:https://www.baidu.com/app1/会出现对应的APP(其他浏览器是无效的)

 

7:注意事项

如果 safari打开UniversalLinks后,后台进行了UniversalLinks配置更新,需要手机切换网络,否则无法看到配置后的效果。(比如wifi切换移动网络,这个问题被卡了2两天)

### 正确配置 `apple-app-site-association` 文件的方法 为了使微信开放平台的 iOS 应用能够通过 Universal Links 实现无缝跳转功能,需要正确配置 `apple-app-site-association` 文件。以下是详细的说明: #### 1. **文件内容** `apple-app-site-association` 是一个 JSON 格式的文件,用于定义哪些 URL 路径可以通过 Universal Links 打开特定的应用程序。其基本结构如下[^3]: ```json { "applinks": { "apps": [], "details": [ { "appID": "团队id.bundleIdentifier", "paths": ["/path/to/resource/*"] } ] } } ``` 其中: - `teamId` 是 Apple Developer Program 中分配给开发者的唯一标识符。 - `bundleIdentifier` 是应用程序的 Bundle ID。 #### 2. **放置位置** Apple 的文档规定,此文件应放在网站的根目录下或者 `.well-known/` 子目录中。例如: - 如果域名是 `www.example.com`,则文件路径应该是 `https://www.example.com/.well-known/apple-app-site-association` 或者直接放在 `https://www.example.com/apple-app-site-association` 下[^4]。 需要注意的是,iOS 设备只会缓存第一次加载的 `apple-app-site-association` 文件,因此后续修改需手动清除设备上的缓存或重新安装应用测试新设置[^1]。 #### 3. **服务器端 Nginx 配置** 为了让客户端能顺利读取到该文件,可能需要调整 Web 服务(如 Nginx)的相关配置。以下是一个典型的 Nginx 配置示例[^2]: ```nginx location /apple-app-site-association { charset UTF-8; default_type application/json; add_header Content-Type application/json; return 200 '{"applinks":{"apps":[],"details":[{"appID":"xxxxxxxxxxxxxxx","paths":["/*"]}]}'; } ``` 上述配置会返回一段预设的 JSON 数据作为响应体,并确保 MIME 类型被正确识别为 `application/json`。 #### 4. **验证文件有效性** 完成部署后,可通过浏览器或其他工具访问对应的 URL 来确认文件是否可正常下载并解析。另外也可以借助官方推荐的一些在线检测工具进一步核实是否存在潜在错误。 --- #### 问题
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值