# iOS 拉起小程序开发示例

本文介绍如何在 iOS 移动应用中实现拉起小程序功能。

## 1、多端应用开发指南

为降低开发者构建移动应用的开发成本，平台推出基于小程序技术实现的多端框架，基于该多端框架可低成本开发 Android 和 iOS 应用，详情可查看 [多端框架概述](/miniprogram/dev/platform-capabilities/miniapp/intro/intro.md)。如果你的 App 是通过官方多端框架开发的，可调用如下 JSAPI 即可在 App 中实现拉起小程序功能：

- [wx.miniapp.launchMiniProgram](/miniprogram/dev/platform-capabilities/miniapp/api/miniapp/launchMiniProgram.md)

## 2、非多端应用开发指南

如果你的 App 不是通过多端框架开发的，可按照下方的指南在 App 中集成微信 SDK 后，调用接口实现拉起小程序功能。开发前需下载 iOS 开发工具包（SDK），[前往下载](/doc/oplatform/Mobile_App/Downloads/iOS_Resource)。

**移动应用跳转到小程序示例：**

```objective-c
WXLaunchMiniProgramReq *launchMiniProgramReq = [WXLaunchMiniProgramReq object];
launchMiniProgramReq.userName = userName;  // 拉起的小程序的原始 id，gh_xxx
launchMiniProgramReq.path = path;    // 拉起小程序页面的可带参路径，不填默认拉起小程序首页
                                     // 对于小游戏，可以只传入 query 部分，来实现传参效果，如：传入 "?foo=bar"
launchMiniProgramReq.miniProgramType = miniProgramType; // 拉起小程序的类型
return [WXApi sendReq:launchMiniProgramReq];
```

**回调说明**

```objective-c
-(void)onResp:(BaseResp *)resp
{
     if ([resp isKindOfClass:[WXLaunchMiniProgramResp class]])
     {
          NSString *string = resp.extMsg;
          // 对应小程序组件 <button open-type="launchApp"> 中的 app-parameter 属性
     }
}
```

小程序跳转回移动应用请参考 [《小程序开发文档》](/miniprogram/dev/framework/open-ability/launchApp.md)。
