当前位置: 首页 > news >正文

iOS分享到微信,配置Universal Links,并从微信打开app,跳转到指定界面

iOS分享到微信之后,需要从微信浏览器直接打开app,跳转到指定界面,这个时候最主要的就是分以下几步(微信sdk集成就不说了)

1.配置Universal Links

Universal Links是iOS新系统出来后通用链接,用于在第三方浏览器直接打开app,没下载的时候就会跳转到下载页面

1.1.开启App项目的Associated Domains功能:

苹果开发者->Account->Overview->Certificates, Identifiers & Profiles->Identifiers->选中对应的App项目的Bundle Identifier的Identifiers->开启Associated Domains功能->新建该Identifiers最新的Profiles文件->下载该Profiles文件并在Mac上安装这个文件(双击文件安装,这里必须使用最新的Profiles文件打包才有效果,如果之前有,需要删除后重新安装Profiles文件)


1.2.Xcode中添加Associated Domains:

Associated Domains可以设置多个,格式是:applinks: + 服务器域名(域名即可,例如完整链接是https://test.uubx.com/,那这里就是applinks:test.uubx.com);Associated Domains必须已applinks:开头。这里后台配置好第三部的apple-app-site-association后去添加即可

1.3创建apple-app-site-association文件

(1)文件名必须为:apple-app-site-association,直接复制
(2)文件不能后缀,是纯文本
(3)文件必须放在服务器根目录或者.well-known目录下,这是苹果规定的,具体请教后端的同事
创建步骤:
a、打开系统自带的文本编辑器,进入偏好设置,如图:


b、进入打开和存储,关闭给纯文本文件添加.txt扩展名选项,如图:


c、选择格式,切换为制作纯文本,如图:

d、编辑内容,先复制以下内容到编辑器,并看注释

{"applinks": {"apps": [],"details": [{"appID": "AAAAA.BBBBB","paths": ["/path1/*"]},{"appID": "CCCCC.DDDDD","paths": ["/path1/*","/path2/*","/path3/*"]},{"appID": "EEEEE.FFFFF","paths": ["/*"]}]}
}

注释:
(1)格式是固定的
(2)apps为空就行,不需要更改
(3)支持多个App共用一个apple-app-site-association文件(即一个域名有多个App在使用)
(4)多个App共用,只需要在上述配置details中添加
(5)details为一个list,切记注意格式
(6)details下一个字典为一个App,多个App添加多个字典就行,注意,号隔开
(7)details下字典格式固定,注意别更改
(8)appID格式为:Team ID+.+Bundle Identifier,即上述配置中,AAAAA、CCCCC、EEEEE为Team ID,BBBBB、DDDDD、FFFFF为Bundle Identifier,注意Team ID与Bundle Identifier中间用”.“链接
(9)Team ID查找,登录开发者账号,进入账户,进入会员资格详细信息,找到团队 ID,即为Team ID,如图

image.png


(10)paths是一个list,表示路径,一个App可以配置多个path,也可以直接使用/*
(11)/* 表示通用链接,即只要域名正确,可以直接命中,一般不建议直接使用/* ,如配置为/path1/* ,则必须域名+/path1/才能命中
(12)path中的路径是自定义的,但一定要以/* 结尾,切记,切记,切记
e、编辑好内容后,保存文件,切记文件名字必须为apple-app-site-association,如图:


(10)paths是一个list,表示路径,一个App可以配置多个path,也可以直接使用/*
(11)/* 表示通用链接,即只要域名正确,可以直接命中,一般不建议直接使用/* ,如配置为/path1/* ,则必须域名+/path1/才能命中
(12)path中的路径是自定义的,但一定要以/* 结尾,切记,切记,切记
e、编辑好内容后,保存文件,切记文件名字必须为apple-app-site-association,如图:

1.4上传文件到服务器

将刚才的文件发送给后端同事,让帮忙上传至服务器根目录或者.well-known目录下,切记,只能这两个目录

1.5验证服务器文件上传是否成功

在服务器上传文件后,通过浏览器是可以正常访问到的。如果文件放在根目录下,链接为:https://test.uubx.com/apple-app-site-association,如果文件放在.well-known目录下,则链接为:
https://test.uubx.com/.well-known/apple-app-site-association(注:https://test.uubx.com/需要替换为你自己的域名)。浏览器打开后,会看到我们刚才配置的apple-app-site-association文件内容,如果不能,则需要查看文件目录是否正确,网络是否支持外网,服务器是否拦截。



1.6验证Universal Link链接是否配置正确

打开safri浏览器,输入https://test.uubx.com/path1/(域名替换为你配置的域名,path1路径替换为你自己配置的路径,如果直接配置的/* 则直接输入域名即可),编辑完成后,点击前往,加载完成后(会有一个报错页面),轻轻下拉网页,如果出现App的图标、名称打开按钮,则表示配置成功。如图:

2.微信开放平台里面设置相关配置就行,但是以下必须注意

也就是调用分享的时候传入的url一定不能跟打开app的通用链接是一个域名

3.跳转到指定界面

直接实现代理方法即可,如下:

相关文章:

iOS分享到微信,配置Universal Links,并从微信打开app,跳转到指定界面

iOS分享到微信之后,需要从微信浏览器直接打开app,跳转到指定界面,这个时候最主要的就是分以下几步(微信sdk集成就不说了) 1.配置Universal Links Universal Links是iOS新系统出来后通用链接,用于在第三方浏览器直接打开app&…...

基于SSM构建的校园失眠与压力管理系统的设计与实现【附源码】

毕业设计(论文) 题目:基于SSM构建的校园失眠与压力管理系统的设计与实现 二级学院: 专业(方向): 班 级: 学 生: 指导教师&a…...

SAP 初始化库存移动类型561501511区别简介

项目上线初始化库存经常会用到561这个移动类型,同时我们在平时测试的过程中也会用到会进行库存的初始化,用的比较多是就是561和501这两个移动类型,本文将测试移动类型561&501&511这三个移动类型,分析三者之间的区别&#…...

情感搞笑聊天记录视频:AI自动化生成技术,操作简单,教程+软件

在数字化时代,内容创作已成为吸引观众、传递信息的重要手段。随着人工智能技术的飞速发展,AI自动生成视频为创作者提供了新的工具和可能性。本文将介绍如何利用AI技术,通过情感搞笑聊天记录视频,在视频号上实现内容的自动化生成&a…...

RabbitMQ中lazyqueue队列

lazyqueue队列非常强悍 springboot注解方式开启 // 使用注解的方式lazy.queue队列模式 非常GoodRabbitListener(queuesToDeclare Queue(name "lazy.queue",durable "true",arguments Argument(name "x-queue-mode",value "lazy&…...

Java三层框架的解析

引言:欢迎各位点击收看本篇博客,在历经很多的艰辛,我也是成功由小白浅浅进入了入门行列,也是收货到很多的知识,每次看黑马的JavaWeb课程视频,才使一个小菜鸡见识到了Java前后端是如何进行交互访问的&#x…...

算法设计与分析 笔记

截图摘自湖南大学彭鹏老师的ppt。笔记也是根据他的ppt整理的。 动态规划 核心 用数组记录中间结果,避免重复计算 三角数塔问题 问题描述 给定一个三角形数塔,从顶部出发,每次只能移动到下一行的相邻元素。要求找到一条路径,…...

mapreduce的工作原理

mapreduce的工作原理 MapReduce是一种编程模型,用于处理大规模数据集的并行运算。它的核心思想是"分而治之",即把一个大数据集分解成多个小块,由多个处理单元并行处理,然后再将结果合并以得到最终结果。MapReduce模型包…...

vue中v-bind和v-model有什么区别

在Vue.js中,v-bind和v-model都是指令,用于实现数据和DOM元素之间的双向绑定,但它们的使用场景和功能有所区别。 v-bind: v-bind是一个通用指令,用于动态地绑定一个或多个属性,或者一个组件prop到表达式。它可以绑定任何…...

基于SpringBoot和PostGIS的某国基地可视化实战

目录 前言 一、Java后台开发设计与实现 1、模型层实现 2、控制层设计 二、WebGIS界面实现 1、列表界面的定义 2、全球基地可视化 三、成果展示 1、全球部署情况 2、亚太地区 3、欧洲基地分布 4、中东的部署 四、总结 前言 在之前的博客中,我们曾经对漂亮…...

为什么Linux服务器空间充足而实际上空间已满的原因

以下是一个典型的Linux服务器的磁盘空间使用情况表,展示了不同文件系统的大小、已用空间、可用空间和挂载点等信息 磁盘空间表的基本组成 Linux服务器的磁盘空间使用情况通常通过df命令查看,输出的表格包含以下几列: Filesystem&#xff1a…...

【LC刷题】DAY16:530 501 236

【LC刷题】DAY16:530 501 236 文章目录 【LC刷题】DAY16:530 501 236530. 二叉搜索树的最小绝对差 [link](https://leetcode.cn/problems/minimum-absolute-difference-in-bst/description/)501.二叉搜索树中的众数236. 二叉树的最近公共祖先 [link](htt…...

Vue 3 的 Teleport 组件实现跨层级通信

突破组件边界 - 使用 Vue 3 的 Teleport 组件实现跨层级通信 你可能已经熟悉了组件的基本概念:每个组件都是一个独立的单元,拥有自己的模板、样式和逻辑。但是,有时候我们需要在不同层级的组件之间进行交互,这就需要用到 Vue 3 中新引入的 Teleport 组件。 Teleport 组件可以…...

chromadb

Chroma是一款AI开源向量数据库,用于快速构建基于LLM的应用,支持Python和Javascript语言。具备轻量化、快速安装等特点,可与Langchain、LlamaIndex等知名LLM框架组合使用。 官网: https://www.trychroma.com/ https://docs.trychr…...

Gradle 自动化项目构建-Gradle 核心之 Project

一、前言 从明面上看,Gradle 是一款强大的构建工具,但 Gradle 不仅仅是一款强大的构建工具,它更像是一个编程框架。Gradle 的组成可以细分为如下三个方面: groovy 核心语法:包括 groovy 基本语法、闭包、数据结构、面…...

简单介绍 Kamailio cfg_rpc 模块

记得先加载 cfg_rpc 模块 loadmodule "cfg_rpc.so" kamailio 起来之后 运行 kamcmd cfg.list 可以得到: dispatcher: probing_threshold dispatcher: inactive_threshold dispatcher: ping_reply_codes rtpengine: rtpengine_disable_tout rtpengine: a…...

Windows 根据github上的环境需求,安装一个虚拟环境,安装cuda和torch

比如我们在github上看到一个关于运行环境的需求 Installation xxx系统Python 3.xxx CUDA 9.2PyTorch 1.9.0xxxxxx 最主要的就是cuda和torch,这两个会卡很多环境的安装。 我们重新走一遍环境安装。 首先创建一个虚拟环境 conda create -n 环境名字 python3.xxx…...

LeetCode 179. 最大数

更多题解尽在 https://sugar.matrixlab.dev/algorithm 每日更新。 组队打卡,更多解法等你一起来参与哦! LeetCode 179. 最大数,难度中等。 排序 解题思路:现将 int 类型转成 str 类型,然后进行字符串比较&#xff0c…...

基于Java+SpringBoot+vue+elementui药品商城采购系统详细设计实现

基于JavaSpringBootvueelementui药品商城采购系统详细设计实现 🍅 作者主页 网顺技术团队 🍅 欢迎点赞 👍 收藏 ⭐留言 📝 🍅 文末获取源码联系方式 📝 🍅 查看下方微信号获取联系方式 承接各种…...

Pikachu靶场--文件上传

参考借鉴 Pikachu靶场之文件上传漏洞详解_皮卡丘文件上传漏洞-CSDN博客 文件上传漏洞&#xff1a;pikachu靶场中的文件上传漏洞通关_pikachu文件上传通关-CSDN博客 client check 在桌面新建一个文件夹&#xff0c;准备一个hello.php文件&#xff0c;文件写入如下代码 <?p…...

龙虎榜——20250610

上证指数放量收阴线&#xff0c;个股多数下跌&#xff0c;盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型&#xff0c;指数短线有调整的需求&#xff0c;大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的&#xff1a;御银股份、雄帝科技 驱动…...

ubuntu搭建nfs服务centos挂载访问

在Ubuntu上设置NFS服务器 在Ubuntu上&#xff0c;你可以使用apt包管理器来安装NFS服务器。打开终端并运行&#xff1a; sudo apt update sudo apt install nfs-kernel-server创建共享目录 创建一个目录用于共享&#xff0c;例如/shared&#xff1a; sudo mkdir /shared sud…...

模型参数、模型存储精度、参数与显存

模型参数量衡量单位 M&#xff1a;百万&#xff08;Million&#xff09; B&#xff1a;十亿&#xff08;Billion&#xff09; 1 B 1000 M 1B 1000M 1B1000M 参数存储精度 模型参数是固定的&#xff0c;但是一个参数所表示多少字节不一定&#xff0c;需要看这个参数以什么…...

Spring数据访问模块设计

前面我们已经完成了IoC和web模块的设计&#xff0c;聪明的码友立马就知道了&#xff0c;该到数据访问模块了&#xff0c;要不就这俩玩个6啊&#xff0c;查库势在必行&#xff0c;至此&#xff0c;它来了。 一、核心设计理念 1、痛点在哪 应用离不开数据&#xff08;数据库、No…...

【HarmonyOS 5 开发速记】如何获取用户信息(头像/昵称/手机号)

1.获取 authorizationCode&#xff1a; 2.利用 authorizationCode 获取 accessToken&#xff1a;文档中心 3.获取手机&#xff1a;文档中心 4.获取昵称头像&#xff1a;文档中心 首先创建 request 若要获取手机号&#xff0c;scope必填 phone&#xff0c;permissions 必填 …...

均衡后的SNRSINR

本文主要摘自参考文献中的前两篇&#xff0c;相关文献中经常会出现MIMO检测后的SINR不过一直没有找到相关数学推到过程&#xff0c;其中文献[1]中给出了相关原理在此仅做记录。 1. 系统模型 复信道模型 n t n_t nt​ 根发送天线&#xff0c; n r n_r nr​ 根接收天线的 MIMO 系…...

零基础在实践中学习网络安全-皮卡丘靶场(第九期-Unsafe Fileupload模块)(yakit方式)

本期内容并不是很难&#xff0c;相信大家会学的很愉快&#xff0c;当然对于有后端基础的朋友来说&#xff0c;本期内容更加容易了解&#xff0c;当然没有基础的也别担心&#xff0c;本期内容会详细解释有关内容 本期用到的软件&#xff1a;yakit&#xff08;因为经过之前好多期…...

Springboot社区养老保险系统小程序

一、前言 随着我国经济迅速发展&#xff0c;人们对手机的需求越来越大&#xff0c;各种手机软件也都在被广泛应用&#xff0c;但是对于手机进行数据信息管理&#xff0c;对于手机的各种软件也是备受用户的喜爱&#xff0c;社区养老保险系统小程序被用户普遍使用&#xff0c;为方…...

Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信

文章目录 Linux C语言网络编程详细入门教程&#xff1a;如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket&#xff08;服务端和客户端都要&#xff09;2. 绑定本地地址和端口&#x…...

【生成模型】视频生成论文调研

工作清单 上游应用方向&#xff1a;控制、速度、时长、高动态、多主体驱动 类型工作基础模型WAN / WAN-VACE / HunyuanVideo控制条件轨迹控制ATI~镜头控制ReCamMaster~多主体驱动Phantom~音频驱动Let Them Talk: Audio-Driven Multi-Person Conversational Video Generation速…...