iOS 通用链接(Universal Link)唤起APP

本文详细介绍了如何在Xcode中配置通用链接,包括不同版本Xcode的配置方法,开发者账号的设置,以及服务端apple-app-site-association文件的生成与上传。讲解了APP如何通过AppDelegate处理通用链接,并强调了HTTPS、真机测试及iOS版本的要求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • APP端的配置
  1. Xcode 11.0以下的 在Target ->Capabilities中,打开Associated Domains配置
  2. 在Associated Domains中配置,支持的域名,在配置时,必须是applinks: 开头,比如:支持的域名是meilikongjian.resolr.com,需要配置的写法:applinks:meilikongjian.resolr.com

Xcode 11.0以上的 ,工程配置中相应功能:targets->Signing&Capabilites->Capability->Associated Domains,在其中的Domains中填入你想支持的域名,也必须必须以applinks:为前缀。

在APPdelegate中的处理判断,

- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray<id<UIUserActivityRestoring>> * _Nullable))restorationHandler {
    
    if ([userActivity.activityType isEqual:NSUserActivityTypeBrowsingWeb]){
        //浏览器的网页跳转
        

    }if ([[userActivity activityType] isEqualToString:CSSearchableItemActionType]) {
         NSString *identify  = userActivity.userInfo[CSSearchableItemActivityIdentifier];
        
        //spotlight 搜索
        
    }else{

       
    }
    return YES;
}

 

  • 开发者账号配置

在创建的bundleID 中,打开Associated Domains功能,

重新配置Provisioning Profiles运行文件,下载之后安装:

  • 服务端的支持
{
    "applinks": {
        "apps": [],
        "details": [
            {
                "appID": "9JA89QQLNQ.com.apple.wwdc",
                "paths": [ "/wwdc/news/", "/videos/wwdc/2015/*"]
            },
            {
                "appID": "ABCD1234.com.apple.wwdc",
                "paths": [ "*" ]
            }
        ]
    }
}
  1. 支持的域名必须是HTTPS的
  2. 必须生成名字为 apple-app-site-association 的文件,没有后缀没有后缀没有后缀,其实就是一个JSON文件
  3. apple-app-site-association文件的格式为图片内容中的格式,只可以修改details 数组中的内容,其他不能修改
  4. APPID的配置:TeamId +BundleID ,而且bundleID 必须是你使用的APP的bundleID
  5. apple-app-site-association 文件需要上传到网站根目录或者.well-known目录下
  6. 需要真机测试, 模拟器不支持通用链接
  7. iPhone 至少 iOS 9.2 以上
  8. 设置路径: 假设我们的链接为meilikongjian.resolr.com,我们在这里设置为/admin/*, 则只有以 https://meilikongjian.resolr.com/admin/才可以打开我们的app。 若我们设置为 / *,则以 https://meilikongjian.resolr.com/为前缀的Universal Link都可以打开我们的app。若我们设置paths为*,则这个域名下的路径都可以打开这个APP。
  9. 服务端配置的apple-app-site-association 文件是否有效检验,检验地址

 

  • 基本原理

在你第一个启动APP或者更新APP时,苹果会自动的根据你在Associated Domains中配置的域名下,拉取apple-app-site-association文件,根据你配置的APPID,和paths路径跳转打开对应的APP,如果不是第一次安装,只是修改apple-app-site-association文件,更新到服务器,是不奏效的,除非你重新安装了APP。

  • 微信支付SDK 1.8.6更新解决

配置方案:https://www.jianshu.com/p/d29547d308f3

学习博客:

https://blog.youkuaiyun.com/Tiramisu_LM/article/details/86582054

https://www.jianshu.com/p/53588cf8dbc8

https://www.jianshu.com/p/c2ca5b5f391f

https://www.jianshu.com/p/c9c09992a6fe

https://www.jianshu.com/p/ab50bdaec65d

 

 

### 回答1: 非常感谢您的问题!我是 ChatGPT,我会尽力回答您的问题。 关于您提到的在微信内如何通过 Universal Link 启动 App 的问题,这需要您的 App 支持 Universal Link,并且需要正确配置您的服务器和 App。具体而言,您需要在您的 App 中添加 Universal Link 支持,并在您的服务器上为该链接提供正确的 JSON 文件,以便微信可以正确地解析并启动您的 App。 如果您遇到了困难,建议您可以查阅相关的文档和教程,或者咨询开发人员寻求帮助。同时,如果您有其他问题需要帮助,欢迎随时向我提问,我会尽力为您解答。 ### 回答2: 在微信内如何通过Universal Link唤起appUniversal Link通用链接)是一种在iOS上使用的一种技术,可以通过点击链接直接打开指定的app而不是网页。下面是在微信内使用Universal Link唤起app的步骤: 1. 配置AppUniversal Link支持:首先,开发者需要在Xcode中对App进行配置,以支持Universal Link。这包括在App的Associated Domains中添加对应的域名,以及在AppDelegate中添加处理Universal Link的相关代码。 2. 注册并配置Domain Verification文件:开发者需要在对应的服务器上注册一个domain association file,该文件包含了App的Bundle ID以及对应的域名。并将该文件配置到服务器上。 3. 生成并验证证书:开发者需要生成并验证SSL证书,确保服务器上使用的所有域名都被正确认证。 4. 在微信公众平台上配置:开发者需要登录微信公众平台,在“移动应用”中找到对应App,并选择“应用链接”。然后,填写AppUniversal Link和对应的域名。并确认手机已安装了对应的App。 5. 发起唤起请求:在微信内,开发者可以通过链接的方式发送给用户。当用户点击此链接时,微信会先检查用户手机中是否已安装有对应的App。如已安装,会直接唤起App打开指定的页面;如未安装,则会在微信内跳转到链接中指定的网页。 需要注意的是,微信只支持指定的部分域名,并且开发者需要保证App在用户手机中安装并且能够正常运行。 ### 回答3: 在微信内通过Universal Link唤起app需要以下几个步骤: 1. 首先,需要在微信开放平台注册并创建一个应用,获取到AppID。 2. 在自己的app内配置Universal Link打开Xcode,在工程的Signing & Capabilities选项中,添加Associated Domains,然后添加一个格式为"applinks:yourdomain.com"的条目,其中yourdomain.com是你自己的域名。 3. 在你的服务器上配置Universal Link。在你的域名下创建一个名为apple-app-site-association的文件。这个文件要满足Apple的规定格式,并描述了应用和对应域名之间的关联关系。 4. 在微信开放平台的应用设置中,将"链接发送"选项设置为"开启",并在"完整链接"中填入你的Universal Link的网址。 5. 当用户在微信中点击发送给他人的链接时,微信会检测链接是否可以匹配到对应的Universal Link,如果可以,就会尝试唤起对应的app。 需要注意的是,为了保证唤起app的有效性,必须确保Universal Link的配置无误,并且已经发布到线上服务器上。此外,还需要确保用户的设备上已经安装了对应的app,否则无法唤起
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值