微信小程序开发IOS 开发码农的世界

从App直接打开小程序

2019-03-14  本文已影响68人  honey缘木鱼

今天无意中了解到APP竟然可以直接打开小程序这个功能,一致认为不可能啊,因为小程序是依靠微信,如果手机上微信没有打开,或者是没有安装微信会怎样呢?一起探索吧!
步骤
1.打开微信开发者平台文档,下载微信SDK。
2.根据文档手动集成SDK
3.点击进入小程序代码:

    WXLaunchMiniProgramReq *launchMiniProgramReq = [WXLaunchMiniProgramReq object];
    launchMiniProgramReq.userName = @"gh_fc392b7c02cf";  //拉起的小程序的原始ID
    launchMiniProgramReq.path = @"";    //拉起小程序页面的可带参路径,不填默认拉起小程序首页
    launchMiniProgramReq.miniProgramType = WXMiniProgramTypePreview; //拉起小程序的类型
    [WXApi sendReq:launchMiniProgramReq];

3.当小程序跳转app时,会走onReq的代理方法(文档中说的是onResp的方法,很坑)。需要把req强转成LaunchFromWXReq。其中WXMediaMessage下的messageExt才是小程序传给我们的参数。

-(void)onResp:(BaseResp *)resp
{
    if ([resp isKindOfClass:[WXLaunchMiniProgramResp class]])
    {
        WXLaunchMiniProgramResp*rep = (WXLaunchMiniProgramResp*)resp;
        NSString *string = rep.extMsg;
        NSLog(@"参数:%@",string);
    }
}

注意:
1.查看移动端与小程序是否在同一开发者平台下(同一平台下直接跳转,不同平台下需要关联才能跳转)

同一平台
关联

2.APP跳到小程序时报如下图:



原因:因为APP暂未上架。
解决方案:我暂时选了一个上线的APP的Bundle id。

  1. APP跳到小程序时报如下图:



    原因:因为用的是体验版,所登的微信账号无体验权限。
    解决方案:管理员给该账户体验权限,用该小程序有体验权限的账号测试。

上一篇 下一篇

猜你喜欢

热点阅读