接入 mpaas 小程序并实现启动 IOS 版|学习笔记

本文涉及的产品
.cn 域名,1个 12个月
mPaaS订阅基础套餐,标准版 3个月
简介: 快速学习接入 mpaas 小程序并实现启动 IOS 版

开发者学堂课程【mPaaS 小程序开发实战 接入 mpaas 小程序并实现启动 IOS 版】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/301/detail/3507


接入 mpaas 小程序并实现启动 IOS 版


内容介绍:

一、如何在 ios 客户端快速集成小程序的能力

 

一、如何在 ios 客户端快速集成小程序的能力

主要结合 mpaas 官方文档中的小程序的接入 ios 的快速开始,来进行一个说明和介绍。

已经接入工程到 mPaaS 更多信息,请参见以下内容:

l 基于 mPaaS 框架接入

l 基于已有工程且使用 mPaaS 插件接入

l 基于已有工程且使用 CocoaPods 接入

首先第一步需要接入工程到 mPaaS,根据不同的场景提供了三种功能的接入方式,详情见上。这里主要是介绍第三种,基于已有工程且使用 CocoaPods 接入

1、基于已有工程且使用 CocoaPods 接入

首先需要准备一个基于 CocoaPods 的原生工程,有了工程之后,查看基于已有工程且使用CocoaPods接入的一个文档。首先需要是安装一个CocoaPods的插件,拷贝下这个脚本1. sh <(curl -s http://mpaas-ios.oss-cn-hangzhou.aliyuncs.com/cocoapods/ installmPaaSCocoaPodsPlugin.Sh)。然后打开终端,直接运行这个脚本。在这运行的过程中,可能需要输入一下电脑的密码,并获取下权限。安装完成之后,可以执行一个 pod mpaas version –plugin的命令,来检查一下的插件是否安装成功,如果显示版本号的话,就说明这个插件已经成功安装了。

那么安装这个插件完成之后,下一步需要在 mPaaS 控制台创建应用,并下载一个 config 的配置文件。使用在那个阿里云的账号,然后登录 mPaaS 的控制台。打开这个控制台之后。可以选择那个创建应用,然后输入里的业务名称,创建属于自己的应用,也可以使用之前创建好的 mPaaS Demo 应用。

点击这个应用,进入里面,在左侧栏里面选择初始化配置的代码配置,点击代码配置,到 IOS 版的 Bundle ID 输入 com.mpaas.demo,然后点击下载配置。将这个config文件保存到本地,就获取到了这个config文件。

之后,只需要将这个config的配置文件拷贝到工程的根目录下面,与 Podfile 同级站好。之后先切换到这个当前的这个工程目录下面,然后执行一个 pod mpaas init的命令。这个命令会自动的修改工程的一个 Podfile 文件,这里面会加入配置,需要这里需要手动修改一下 mpass baseline 的机械版本号,这里设置为10.1.68。修改完成之后保存。

2、添加 sdk

接下来开始添加 sdk,采用第二种使用 cocoapods-mpaas 插件的方式添加。在 Podfile文件中,使用 mPaaS_pod "mPaaS_TinyApp添加小程序组件依赖,然后保存。之后执行执行 pod install 或 pod update 就可以了。这个工程会从mPaaS的仓库里面去下载小程序组件所需要依赖的一些sdk,下载完成。

可以直接打开这个 TinyAppDemo.xcworkspace 文件,可以看到在工程上面添加一些相关的文件。点击运行按钮,能看到工程已经成功运行起来了。mPaaS 里面会显示一个 hello word 的页面,到这一步就说明就已经完成了第二步添加 sdk 的一个操作。

接下来就可以开始来使用 sdk,使用 sdk 主要分成三步:初始化配置发布小程序启动小程序

l 初始化配置

进行第一个初始化配置。第一步是首先需要启动容器,为了使用Nebula容器,您需要在程序启动完成后调用SDK接口,对容器进行初始化。必须在DTFrameworknterface的(void)application:(UIApplication ")application beforeDidFinishLaunchingWithOptions:(NSDictionary ")launchOptions中进行初始化。

初始化完成之后,还需要进行一些容器的定制化,如有需要,可以通过设置 MPNebulaAdapterlnterface 的属性值来定制容器配置。必须在  DTFrameworkInterface 的“(void)application:(UlApplication ‘)application afterDidFinishLaunchingWithoptions:(NSDictionary ")launchoptions中设置,否则会被容器默认配置覆盖。重点主要是,将小程序的硬性开关进行关闭,将以下代码运用到DTFrameworkilnterface+TinyAppDemo.m的内容中,并运行。

1. ·(void)application:(UlApplication *)application afterDidFinishLaunchingWithOptions:(NSDictionary *)launcheption

2.{

3.//定制容器

4.[MPNebulaAdapterInterface shareInstanceJ.nebulaVeiwControllerClass = [MPH5WebViewController class];

5.[MPNebulaAdapterInterface shareInstance].nebulaNeedVerify = NO;

6.[wANebulaAdapterInterface shareInstance].nebulaUserAgent = mPaaS/Portal";

7.}

硬性开关关闭成功。

发布小程序。启动完成后,全量请求所有离线包信息,检查服务端是否有更新包。为了不影响应用启动速度,建议在(void)application:(UIApplication 1*)application afterDidFinishLaunchingWithoptions:(NSDictionary l')launchoptions之后调用。代码为

1.- (void)application:(UlIApplication ")application afterDidFinishLaunchingWithOptions:(NSDictionary *)launchopion.

2.{

3.//定制容器

4.[MPNebulaAdapterInterface shareInstance].nebulaVeiwControllerClass = [MPH5WebViewController class];

5.[MPNebulaAdapterInterface sharelnstance]员ebulaNeedVerify = NO;

6.[MPNebulaAdapterInterface shareInstanceJ.nebulaUserAgent = @"mPaaS/Portal";

7.[MPNebulaAdapterInterface shareInstance].nebulaCommonResourceAppList = @[@"77777777 ];

8.//全量更新离线包

9.[[MPNebulaAdapterInterface shareInstance] requestAllNebulaApps:^(NSDictionary *'data, NSError *error){

10. NSLog(@"");

11.}};

12.}

image.png

初始化完成之后,效果如上:

配置小程序。主要是在 info.plist 中配置以下 App 权限:

l NSBluetoothAlwaysUsageDescription:蓝牙权限(iOs 13中的新增权限)。

l NScameraUsageDescription:相机权限。

l NSPhotoLibraryUsageDescription:相册权限。

l NSLocationWhenInUseUsageDescription:定位权限。

就完成了这个全面的配置。非框架托管配置不需要操作。

l 发布小程序

登录控制台,选择小程序发布。如果是第一次使用,请先在小程序>小程序发布>配置管理中配置虚拟域名。虚拟域名可以为任意域名,建议使用企业域名,如 test.com。然后配置完成了之后。

第二步创建自己的小程序:

1.点击左侧导航栏的小程序>小程序发布。

2.在打开的小程序包列表页,点击新建。

3.在新建小程序窗口,填写小程序的 ID 和小程序名称,点提交。其中,小程序 ID 为任意16位数字,例如 2018080616290001。

创建完小程序之后,可以点击左侧的这个添加按钮,进行发布,有些参数需要进一个配置和说明,例如:

版本:填写小程序包的版本号,例如1.0.0.0。

客户端范围:选择小程序 App 对应的 iOS 客户端最低版本和最高版本。在这个范围内的客户端 App 可以启动对应的小程序,否则无法启动。这里最低版本可以填写0.0.0,最高版本可以不填,代表客户端所有版本都可以启动这个小程序。

注意:这里的版本号指当前客户端App 的版本号,请参考工程 Info.plist  中的 Product Version 字段。

包类型: 功能包

图标:点击选择文件上传小程序包的图标。第一次创建小程序时必需上传图标。

文件:上传小程序包资源文件,文件格式为.zip。mPaaS 示例小程序的附带文件,可以直接上传。

主入口 URL:必填,小程序包的首页,例如 /index.html#page/tabBar/component/index

其他配置保持默认即可,然后点击提交。

上传完成之后,就可以进行发布小程序。

发布小程序

创建发布

发布类型:正式

发布描述:小程序发布

点击确定,发布成功。

l 启动小程序

完成上述步骤之后,进入对应的页面时,调用框架提供的 startTinyAppWithld 接口方法加载小程序。

[MwPNebulaAdapterInterface startTinyAppWithld:appld params:nil];

若打开小程序时需要传递参数,可以通过 param 参数进行设置。其中 param 包含  page 和 query 两个字段:

page:用来指定打开特定页面的路径。

可以把小程序基本信息的 ID 作为第一个 ID,第二个参数是启动小程序常用的扩展参数,直接填入 nil。完成了启动小程序的配置。站完了之后,直接重新运行工程,看到这里多出了一个打开小程序的这个按钮。

点击这个按钮。就会打开一个 mpaas 官方示例的一个小程序,完成了启动小程序的步骤。

以上全部完成了如何在 ios 客户端快速集成小程序的能力的全部步骤。

 

相关文章
|
3月前
|
移动开发 监控 小程序
mPaaS常见问题之音视频通话微信小程序通话界面录制为画中画模式如何解决
mPaaS(移动平台即服务,Mobile Platform as a Service)是阿里巴巴集团提供的一套移动开发解决方案,它包含了一系列移动开发、测试、监控和运营的工具和服务。以下是mPaaS常见问题的汇总,旨在帮助开发者和企业用户解决在使用mPaaS产品过程中遇到的各种挑战
|
3月前
|
缓存 小程序 Android开发
mPaaS问题之更改包名之后就进不了小程序如何解决
mPaaS小程序是阿里巴巴移动平台服务(mPaaS)推出的一种轻量级应用解决方案,旨在帮助开发者快速构建跨平台的小程序应用;本合集将聚焦mPaaS小程序的开发流程、技术架构和最佳实践,以及如何解决开发中遇到的问题,从而助力开发者高效打造和维护小程序应用。
|
2月前
|
小程序
微信小程序学习笔记(入门篇)
微信小程序学习笔记(入门篇)
32 0
|
3月前
|
移动开发 安全 小程序
mpaas常见问题之小程序容器,跑起来后一直提示 "网络不给力, 请稍后再试"如何解决
mPaaS(移动平台即服务,Mobile Platform as a Service)是阿里巴巴集团提供的一套移动开发解决方案,它包含了一系列移动开发、测试、监控和运营的工具和服务。以下是mPaaS常见问题的汇总,旨在帮助开发者和企业用户解决在使用mPaaS产品过程中遇到的各种挑战
|
3月前
|
移动开发 监控 小程序
mPaaS常见问题之uniapp ios端云打包的配置config文件如何解决
mPaaS(移动平台即服务,Mobile Platform as a Service)是阿里巴巴集团提供的一套移动开发解决方案,它包含了一系列移动开发、测试、监控和运营的工具和服务。以下是mPaaS常见问题的汇总,旨在帮助开发者和企业用户解决在使用mPaaS产品过程中遇到的各种挑战
122 0
|
3月前
|
缓存 小程序 Android开发
mPaaS问题之iOS调用插件的时候提示没有配置mpaas. Config文件如何解决
mPaaS配置是指在mPaaS平台上对移动应用进行的各项设置,以支持应用的定制化和优化运行;本合集将提供mPaaS配置的操作指南和最佳实践,助力开发者高效管理和调整移动应用的设置。
|
3月前
|
小程序 Android开发 iOS开发
mPaaS问题之Ios调小程序报错如何解决
mPaaS小程序是阿里巴巴移动平台服务(mPaaS)推出的一种轻量级应用解决方案,旨在帮助开发者快速构建跨平台的小程序应用;本合集将聚焦mPaaS小程序的开发流程、技术架构和最佳实践,以及如何解决开发中遇到的问题,从而助力开发者高效打造和维护小程序应用。
mPaaS问题之Ios调小程序报错如何解决
|
小程序 前端开发 安全
《iOS逆向》小程序的基础配置
《iOS逆向》小程序的基础配置
109 0
《iOS逆向》小程序的基础配置
|
6天前
|
Java Android开发 iOS开发
探索安卓与iOS开发的差异:平台选择对项目成功的影响
在移动应用开发的世界中,选择正确的平台是关键。本文通过比较安卓和iOS开发的核心差异,揭示平台选择如何影响应用的性能、用户体验和市场覆盖。我们将深入探讨各自的开发环境、编程语言、用户界面设计原则以及发布流程,以帮助开发者和企业做出明智的决策。
27 9
|
1天前
|
搜索推荐 Android开发 iOS开发
探索安卓与iOS开发的差异性与互补性
【8月更文挑战第19天】在移动应用开发的广阔天地中,安卓与iOS两大平台各据一方,引领着行业的潮流。本文将深入探讨这两个平台在开发过程中的不同之处以及它们之间的互补关系,旨在为开发者提供一个全面的视角,帮助他们更好地把握市场动态,优化开发策略。通过分析各自的开发环境、编程语言、用户界面设计、性能考量及市场分布等方面,我们将揭示安卓与iOS开发的独特魅力和挑战,同时指出如何在这两者之间找到平衡点,实现跨平台的成功。