iOS开发 APP调起微信小程序与配置Universal Links

apple-app-site-association文件示例地址:apple-app-site-association文件_apple-app-site-association-其它代码类资源-CSDN下载

小程序支持用APP直接调起。

在微信开放平台将APP与对应的小程序关联,关联成功之后就可以进入开发了。

APP中调起小程序的代码,来源于微信开发者文档:

WXLaunchMiniProgramReq *launchMiniProgramReq = [WXLaunchMiniProgramReq object];
launchMiniProgramReq.userName = userName;  //拉起的小程序的username
launchMiniProgramReq.path = path;    拉起小程序页面的可带参路径,不填默认拉起小程序首页,对于小游戏,可以只传入 query 部分,来实现传参效果,如:传入 "?foo=bar"。
launchMiniProgramReq.miniProgramType = miniProgramType; //拉起小程序的类型
//[WXApi sendReq:launchMiniProgramReq];//1.8.5以前SDK
//1.8.6及以后的SDK用以下方法
[WXApi sendReq:launchMiniProgramReq completion:^(BOOL success) {
        if (success) {
            
        }else{
            
        }
    }];


 其中的userName是小程序的原始id,不是小程序的名称

如果是用的openSDK1.8.6及以后的,一定要注意在AppDelegate中加入这段代码,不然会出现调起微信之后又回到APP中,无法真正调起小程序:

- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void(^)(NSArray<id<UIUserActivityRestoring>> * __nullable restorableObjects))restorationHandler {
    
    return [WXApi handleOpenUniversalLink:userActivity delegate:self];
    
}


在openSDK1.8.6版本之后需要支持Universal Links,所以也要对APP配置Universal Links。

Universal Links就是一个通用链接,iOS9以上的用户,可以通过点击这个链接无缝的重定向到一个APP应用,而不需要通过safari打开跳转。如果用户没有安装这个app,则会在safari中打开这个链接指向的网页。

Universal Links配置比较简单,在服务器的根目录上传apple-app-site-association文件,服务器必须要支持https。apple-app-site-association里面是一段json。多个app可共用一个文件,在details里面写不同的appID,appID的格式为teamID.bundle identifier。paths实际上就是配置可以唤醒app的路径,和限制哪些路径不能唤醒app(路径前面加NOT:"NOT /app1path/test/*")。

{
    "applinks":{
        "apps":[],
        "details":[
            {
                "paths":["/app1path/*"],
                "appID":"teamID.app1的Bundle identifier"
            },
            { 
                "appID": "teamID.app2的Bundle identifier", 
                "paths": ["/app2path/*"] 
             }
        ]
    }
}
文件配置好之后,要在Xcode中的Capabilities中打开Associated Domains,Domains填入applinks:服务器的域名,去掉https://(例如: applinks:aaa.bbb.com)。配置好之后,也要在苹果开发者中心的APP IDs中开启Associated Domains,然后重新配置下对应的描述文件,在Xcode中重新导入描述文件就可以了。

验证Universal Links是否配置好,可以在手机的safari中,输入配置好的地址(例如:https://aaa.bbb.com/app1path/),跳转之后下拉网页,看下是否有出现你APP的logo和打开按钮,如果出现了,就说明配置的Universal Links是正确的。如下图:


————————————————
版权声明:本文为CSDN博主「wang790492446」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/wang790492446/article/details/104840630

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
App微信小程序可以在不同的开发环境中进行开发App开发可以使用各种跨平台开发框架,如uniapp、React Native、Flutter等。其中,uniapp是一种基于Vue.js的跨平台开发框架,可以使用一套代码兼容多个平台,包括安卓、iOS等。在uniapp中,可以使用Hbuilder等开发工具进行开发和调试。\[1\] 微信小程序开发需要使用微信开发者工具,该工具提供了一个集成开发环境,可以进行小程序开发、调试和发布。在微信开放平台注册appId后,可以使用微信开发者工具进行小程序开发和调试。\[2\] 因此,App微信小程序可以在不同的开发环境中进行开发,具体选择哪种开发方式取决于项目需求和开发者的技术背景。 #### 引用[.reference_title] - *1* *3* [uniapp一套代码开发app微信小程序](https://blog.csdn.net/weixin_43958804/article/details/107083423)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Android App跳转微信小程序教程](https://blog.csdn.net/qq_39221436/article/details/124603542)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值