美文网首页
OC 经验 通用链接配置

OC 经验 通用链接配置

作者: 冯汉栩 | 来源:发表于2021-07-06 15:16 被阅读0次

    一直觉得自己写的不是技术,而是情怀,一个个的教程是自己这一路走来的痕迹。靠专业技能的成功是最具可复制性的,希望我的这条路能让你们少走弯路,希望我能帮你们抹去知识的蒙尘,希望我能帮你们理清知识的脉络,希望未来技术之巅上有你们也有我。

    首先在这个配置过程中参考了三篇文章。
    文章1
    文章2
    文章2

    配置通用链接主要的文档:(苹果官方文档)https://developer.apple.com/library/archive/documentation/General/Conceptual/AppSearch/UniversalLinks.html

    1.创建一个apple-app-site-association包含有关您的应用程序可以处理的URL的JSON数据的文件。

    {
       "applinks": {
       "apps": [],
       "details": [
               {
                "appID": "8R2UASF858.com.nhm.nahuomalles",
                "paths": ["*", "/qq_conn/101912345/*"]
               }
            ]
        }
    }
    

    注意AppID信息的来源开发者网站上面的IDS文件


    image.png

    然后保存文件。创建json格式的一个空文件(取名必须为apple-app-site-association,并且没有后缀,隐藏后缀)

    2.将apple-app-site-association文件上传到您的HTTPS Web服务器。您可以将文件放置在服务器的根目录或.well-known子目录中。(给后台上存,文件它会给我面一个链接,这个链接放在网页上面可以下载刚刚给它的文件的)
    链接要求:
    1.必须以https开头
    2.get请求
    3.能下载刚刚的文件
    4.你的服务器必须得支持SSL

    苹果为了方便开发者,提供了一个网页来验证我们编写的这个apple-app-site-association是否合法有效,进入验证网址进行验证:

    3.到开发者网站上面的IDS文件,让它能支持Associated Domains,编辑完成之后,保存


    image.png

    注:这里可能会遇到一个错误就是你的App ID中并没有允许使用Associated Domains,所以需要进入开发者中心,编辑App ID允许Associated Domains,并且重新生成对应的签证文件并下载安装。在最新xcode11,添加了该项,开发者账号该appId下自动打开(如果打开后,保存信息,记得重新下载安装)

    4.在app中处理通用链接
    1)添加对应的域名(上面知道的域名)到Capabilities


    image.png

    在项目里面定位到Capabilities,找到Associated Domains,点击允许按钮,在Domains中添加对应的域名。(Domains中的域名必须是使用applinks开头,然后输入自己的域名即可。注意:当app第一次启动之后,会自动从你自己的域名目录下下载这个apple-app-site-association文件。)

    5.实现AppDelegate里支持通用链接的实现方法

    -(BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void(^)(NSArray<id<UIUserActivityRestoring>> * __nullable restorableObjects))restorationHandler NS_AVAILABLE_IOS(8_0); {
            if ([userActivity.activityType isEqualToString:NSUserActivityTypeBrowsingWeb]) {
                 NSURL *url = userActivity.webpageURL;
                //微信登录
                if([[NSString stringWithFormat:@"%@",url] rangeOfString:@"oauth"].location !=NSNotFound){
                    return [WXApi handleOpenURL:url delegate:self];
                }
            }
            return YES;
    }
    

    6.info.plist配置信息添加多一项


    image.png

    相关文章

      网友评论

          本文标题:OC 经验 通用链接配置

          本文链接:https://www.haomeiwen.com/subject/ujwbultx.html