iOSApp与微信小程戏交互|传值|iOSApp给微信小程序传值

iOSApp跳转到微信小程序(包括传值), 微信小程序再跳回App(包括传值),微信文档上都有,这里来讲一下微信文档没有写到的一些细节

一.iOS跳转微信小程序传值:

通过path传值,拼接在路径上

不需要传值的情况下,跳转的代码是:

WXLaunchMiniProgramReq *launchMini = [WXLaunchMiniProgramReq object];
launchMini.userName = @"gh_xxxx";
launchMini.path = @"home/xxx/xxx";
//WXMiniProgramTypeRelease:正式版
//WXMiniProgramTypePreview:体验版
//WXMiniProgramTypeTest:开发版
 launchMini.miniProgramType = WXMiniProgramTypePreview;

[WXApi sendReq:launchMini completion:nil];

path这个参数是跳转小程序的路径,如果需要传值,那么就需要把参数拼接在path上:

例如需要传name=zhangsan , age=18 这两个值

则path 的写法为 path=@"home/xxx/xxx?name=zhangsan&age=18";

然后让你们的微信开发同时去解析这个path。

二.App接收小程序传过来的值

微信文档里仅仅说了在Appdelegate 的 微信协议方法- (void)onResp:(BaseResp *)resp 里接收,但是它并没有告诉你先要注册协议(坑爹)

微信文档地址:https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/launchApp.html

正规的流程是先在 - (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options 方法里注册 协议:[WXApi handleOpenURL:url delegate:self]

小程序跳到App先走这个这册方法,才会走 - (void)onResp:(BaseResp *)resp 方法。

代码如下

- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options
{
    /*
     platformId=wechat 是微信小程序带过来的host值,你也可以不判断这个,
     直接写 [WXApi handleOpenURL:url delegate:self]
     
     */
    if ([[url host] isEqualToString:@"platformId=wechat"])
    {
        return [WXApi handleOpenURL:url delegate:self];
    }
}
- (void)onResp:(BaseResp *)resp
{
    if ([resp isKindOfClass:[WXLaunchMiniProgramResp class]]){
        
        WXLaunchMiniProgramResp *resp1 = ((WXLaunchMiniProgramResp *)resp);
        
        //对应JsApi navigateBackApplication中的extraData字段数据
        NSString *string = resp1.extMsg;
        
    }
}

相关推荐

  1. 程序怎样事件

    2024-03-15 19:52:01       57 阅读
  2. 程序怎样事件

    2024-03-15 19:52:01       54 阅读
  3. 程序使用bindtap事件data-xxx无法获取

    2024-03-15 19:52:01       29 阅读
  4. #程序程序常见的配置&

    2024-03-15 19:52:01       36 阅读
  5. 程序获取来源场景

    2024-03-15 19:52:01       61 阅读
  6. 程序实现图片上到服务器

    2024-03-15 19:52:01       58 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-15 19:52:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-15 19:52:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-03-15 19:52:01       82 阅读
  4. Python语言-面向对象

    2024-03-15 19:52:01       91 阅读

热门阅读

  1. LeetCode算法导航

    2024-03-15 19:52:01       40 阅读
  2. 深入探索Kafka底层原理

    2024-03-15 19:52:01       44 阅读
  3. Redis

    2024-03-15 19:52:01       40 阅读
  4. 【设计模式专题之建造者模式】4. 自行车加工

    2024-03-15 19:52:01       41 阅读
  5. c# MD5加密函数

    2024-03-15 19:52:01       38 阅读
  6. 期权里的资金变化

    2024-03-15 19:52:01       33 阅读
  7. 爬虫练习:Selenium使用案例

    2024-03-15 19:52:01       40 阅读
  8. vsto 多插件通信

    2024-03-15 19:52:01       43 阅读
  9. 黑客入狱知识点总结

    2024-03-15 19:52:01       40 阅读
  10. C# 面向对象

    2024-03-15 19:52:01       42 阅读
  11. C/C++面试题

    2024-03-15 19:52:01       43 阅读