移动应用拉起小程序是指用户可以通过接入该功能的第三方移动应用(APP)跳转至某一微信小程序的指定页面,完成服务后跳回至原移动应用(APP)。
App和小程序互相跳转:
1)App主动发起小程序卡片分享到微信,微信点击打开小程序,这时的小程序可以打开App。(同行的各位做过分享的应该对这个比较熟悉)
2)App主动发起打开小程序,这时的小程序可以打开App。
目前主要就这两种方式吧,严格来说互相跳转不太欠妥,毕竟App才是主动一方,小程序只能被动返回,类似于分享,App如果不发起分享到微信,微信是不能返回你的App的。
总的来说,从 APP 跳转到小程序时,小程序会获得返回此 APP 的权限。
此功能需要前端跟iOS开发工程师一起配合,返回主要前端做处理。 小程序打开 APP 的能力 可以理解为由小程序框架在内部管理的一个状态,为 true 则可以打开 APP,为 false 则不可以打开 APP。
App跳转小程序原理及实现微信官网可查看:
App拉起小程序功能小程序返回App原理及实现微信官网可查看:小程序打开App功能下面主要讲iOS App跳转小程序准备工作,流程配置吧。
1向微信注册你的应用程序id :请到 开发者应用登记页面 进行登记,登记并选择移动应用进行设置后,将获得AppID,可立即用于开发。但应用登记完成后还需要提交审核,只有审核通过的应用才能正式发布使用。
2.搭建开发环境
2.1 通过CocoaPods集成[1] 在工程的Podfile里面添加以下代码:pod ‘WechatOpenSDK’ ,保存并执行pod install。注意: 命令行下执行pod search WechatOpenSDK,如显示的WechatOpenSDK版本不是最新的,则先执行pod repo update操作更新本地repo的内容[2] 在Xcode中,选择你的工程设置项,选中“TARGETS”一栏,在“info”标签栏的“URL type“添加“URL scheme”为你所注册的应用程序id(如下图所示)。

Xcode设置URL scheme[3] 在Xcode中,选择你的工程设置项,选中“TARGETS”一栏,在“info”标签栏的“LSApplicationQueriesSchemes“添加weixin(如下图所示)。

[4] 在你需要使 用微信API的文件中import WXApi.h 头文件,并增加 WXApiDelegate 协议。

常见问题:对于之前SDK放在主工程目录下,切换成CocoaPods的形式,执行pod install 之后,出现* Use the (inherited)flag,or∗Removethebuildsettingsfromthetarget.解决方法是把工程target中的buildSetting里面PODSROOT的值替换成(inherited) flag, or* Remove the build settings from the target.解决方法是 把工程target中的build Setting里面PODS_ROOT的值替换成(inherited)flag,or∗Removethebuildsettingsfromthetarget.解决方法是把工程target中的buildSetting里面PODSR​OOT的值替换成(inherited)Other Linker Flags中 -all_load 替换成$(inherited)

3.实现App跳转小程序[1] 向微信注册你的id。(如下图所示,在 AppDelegate 的 didFinishLaunchingWithOptions 函数中向微信注册id)。

向微信注册你的id
[2] 重写AppDelegate的handleOpenURL和openURL方法:

重写AppDelegate的handleOpenURL和openURL方法
[3]App拉起小程序

//测试代码[WXApi openWXApp];iOS这里有个很坑的地方,文档中是这样写的WXLaunchMiniProgramReq *launchMiniProgramReq = [WXLaunchMiniProgramReq object];launchMiniProgramReq.userName = userName;//拉起的小程序的username launchMiniProgramReq.path = path;//拉起小程序页面的可带参路径,不填默认拉起小程序首页launchMiniProgramReq.miniProgramType = miniProgramType;//拉起小程序的类型 return [WXApi sendReq:launchMiniProgramReq];这个userName并没有具体说明是什么参数,但是仔细想想App要跳到指定App一定会有标识,或者说APP是怎么和小程序关联的呢?其实该userName就是小程序的userName,你可以登录微信公众号平台|小程序,然后在设置—>基本设置中查看,里面有个原始id,就是小程序的userName。小程序配置里的原始ID 必须是 gh_… 形式的。launchMiniProgramReq.userName = @“gh_xhdfjegew78”;//拉起的小程序的username 其实就是 原始ID。这样你就将APP和小程序关联起来了。✨✨另外APP关联小程序收银台指引:登录微信开放平台之后,可在“管理中心-移动应用-应用详情-关联小程序信息”,添加“wxce9be1b446012310”(举例子),为通过审核的移动应用关联小程序

还有一个问题:App跳转的小程序如何打开指定的页面呢?这就要看另一行代码:wxMiniObject.path = @“pages/index/index”;你需要设置一下小程序的path,这个path的页面就是你点击分享的小程序打开的页面。

[4] 小程序返回App—回调 -(void) onResp:(BaseResp*)resp获取结果 Resp.extMsg,前端可通过小程序返回App进行传值做业务处理。

iOS App跟小程序之间跳转相关推荐

  1. 【浙江名度控股】企业在APP和小程序之间如何抉择?

    微信小程序功能发布了一年多了,由于名度控股也一直在承接开发方面的业务,有很多客户在APP和小程序之间难以抉择,今天就给大家对比一下两者的区别,希望能给客户们提供一些参考.1.功能及开放性APP是基于安 ...

  2. 微信——APP和小程序互相跳转

    随大流吧.微信小程序出了这么久,现在才学习下. app和小程序互相跳转: 1.App主动发起小程序卡片分享到微信,微信点击打开小程序,这时的小程序可以打开App 2.App主动发起打开小程序,这时的小 ...

  3. 酷客多小程序实现小程序之间跳转功能,让小程序玩出新花样

    自从微信公布可以实现小程序之间相互跳转功能以来,酷客多小程序(http://www.kukeduo.cn)紧跟脚步,就在上周推出了小程序跳转小程序的端口,对于拥有多个小程序的企业来说,这个新功能的推出 ...

  4. 小程序如何跳转至同服务器app,微信小程序如何跳转到APP?

    随着经济的快速发展和技术的不断创新,智能手机.iPad和平板电脑的普及促进了移动互联网应用和服务(APP)的快速发展.自2008年7月App Store  应用商店推出以来,大约有55万应用程序在货架 ...

  5. 两百条微信小程序开发跳坑指南(不定时更新)

    2019独角兽企业重金招聘Python工程师标准>>> 微信小程序联盟出品 跳坑textarea<二百二十三>不显示文本及textarea相关问题集合 跳坑<二百一 ...

  6. APP和小程序有什么区别?

    很多人都会困惑于APP和小程序之间的选择,首先我们需要了解两者的区别. APP和小程序有什么区别? APP和小程序安装使用的区别:APP需要通过应用市场下载.安装,通过桌面图标启动,小程序直接在微信中 ...

  7. php跳转app,小程序支持跳转app么

    小程序支持跳转app. 此功能需要用户主动触发才能打开 APP,所以不由 API 来调用,需要用 open-type 的值设置为 launchApp 的 button 组件的点击来触发. 示例: 小程 ...

  8. dakai微信小程序 ios_【iOS】微信小程序打开APP到底是怎么回事?

    前言 从苹果官方来看,小程序新增了两个功能: 1. 支持打开移动应用 2. 标题栏区域开放自定义 针对第二个功能,就是开发者可以自定义小程序菜单栏的颜色风格,根据需求,对小程序菜单外的标题区域进行自定 ...

  9. h5端登录是什么意思_关于app、小程序和h5之间的区别

    1.APP 运行环境--Android和IOS手机操作系统 系统权限-- 最多最全面,但有些属于隐私需要用户授权才能调用. (安卓与IOS也有许多差异:Android类似于Windows,App几乎可 ...

最新文章

  1. 使用Xmodem恢复交换机IOS
  2. matlab字符处理
  3. python元编程_Python 元编程
  4. java多张图片上传安卓,Android Rxjava+Retrofit2 多图片+文字上传
  5. Python学习(五)列表的简单操作
  6. sonar工具使用常见问题解决
  7. Matlab命令汇总
  8. java 水印 位置_Java实现图片加水印且控制位置和透明度
  9. 输入学号查询课程c语言,广工c语言课程设计
  10. python是干什么的-python学来主要是干什么的
  11. eclipse java字体 太小,如何在Eclipse for Java文本编辑器中更改字体大小?
  12. 小D课堂 - 零基础入门SpringBoot2.X到实战_汇总
  13. 局域网访问PHP项目网站 用IP地址进入
  14. Hibernate —— 映射关联关系
  15. 利用旧电脑搭建NAS(黑群晖)
  16. 有关php的外国参考文献,php论文英文参考文献
  17. 计算机与音乐整合的教学设计,信息技术与学科教学整合音乐课教学设计  2010年10月  田赞禄...
  18. pyspark LEAK: ByteBuf.release() was not called before it's garbage-collected. Enable advanced leak
  19. 猫推荐算法大赛Top 9团队
  20. 宇宙第一 IDE 霸主,换人了?

热门文章

  1. iOS 接入 招商 一网通的 各种坑
  2. 【概率论】范畴分布 Categorical / Multinoulli Distribution
  3. Android SD系统启动卡制作
  4. 简洁的旅行青蛙个人主页纯静态HTML
  5. Mybatis报错: Could not find resource mapper
  6. Omar Loves Candies
  7. 图标字体的优缺点和使用
  8. e.Row.RowType == DataControlRowType.DataRow诠释(实例解释)转自孤舟济海,云卷云舒
  9. 绪论--《可以量化的经济学》
  10. css 裁剪背景图片,CSS裁剪背景图片的歪招