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

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

iOS 通用链接(Universal Link)唤起APP_第1张图片

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

iOS 通用链接(Universal Link)唤起APP_第2张图片

iOS 通用链接(Universal Link)唤起APP_第3张图片

在APPdelegate中的处理判断,

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

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

       
    }
    return YES;
}

 

  • 开发者账号配置

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

iOS 通用链接(Universal Link)唤起APP_第4张图片

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

iOS 通用链接(Universal Link)唤起APP_第5张图片

  • 服务端的支持
{
    "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.csdn.net/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

 

 

你可能感兴趣的:(iOS)