一、在线地址打包

1.打开移动工作台

路径:应用构建服务 --> 构建平台 --> 移动工作台
image.png

2.上传证书

上传android证书
image.png
上传iOS证书
image.png
在iOS证书下上传对应的描述文件
image.png
注意:
如果是使用99$的个人或公司账号创建的证书打包,则只能上传至App Store审核,待审核通过后通过App Store下载安装;
如果是使用299$的企业级账号创建的证书打包,可以使用iTools等工具安装,可自行分发,只需在手机设置中信任即可使用。
开发者账号申请教程:详细文档
开发者证书申请教程:详细文档

3.新建应用

选择APP打包 --> 新建APP
image.png
点击下一步,添加原生插件

4.选择插件

点击添加,选择app内用到原生能力插件,如人脸识别等。
image.png
说明:有些插件需要配置参数,以人脸识别为例,需要申请相关id及license文件,点击插件名称后的?可以查看具体的参数说明文档
image.png
配置好插件后,点击保存

5.打包应用

完成上述步骤后,app打包列表内会出现一条新的记录,点击打包
image.png
点击打包,出现下图所示信息,确认信息无误后,点击打包
image.png
打包完成后,即可下载ipa或apk包
image.png

二、离线打包

1.下载模板工程

移动工作台 --> 公共插件 --> 下载离线包模板
image.png

2.插件目录结构

image.png

3.插件的自定义标识

注意:mtl-com-zsf,必须保持一致且不与其他插件冲突
3.1.文件的名称:mtl-com-zsf
3.2.插件的 Cordova 相关依赖文件(package.json)中id参数:
image.png
3.3.顶级清单文件plugin.xml中id参数:
image.png
3.4.ybm-manifest.json 插件信息配置文件中code参数:
说明:此处version和versionName参数控制版本号
image.png

4.离线工作包制作过程

4.1.创建文件夹dist,存放代码文件,如dist/index.html作为项目首页显示

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>离线包</title>
</head>
<body>
    <div>离线包工作台</div>
</body>
</html>

4.2.创建hooks/build.js,在创建项目时候将dist文件夹下的代码文件复制到项目中,

'use strict';

var fs = require('fs-extra');
var path = require('path');


var DEST_DIR = '';
/**
* 不同平台的目标地址不一样
* 根据platforms不同 设置不同的项目目标地址
*/
module.exports = function (ctx) {
    //判断操作平台
  if(ctx.opts.cordova.platforms.indexOf('android')==0){
    DEST_DIR = 'platforms/android/app/src/main/assets/www/';  //Android项目存放代码的目标地址
  }else{
    DEST_DIR = 'platforms/ios/www/';  //IOS项目存放代码的目标地址
  }
  copyToAppSpace(); //将代码copy到项目中目标目录下
}
/**
* copy到项目目录下
*/
function copyToAppSpace() {
    //开始copy标志   打印显示目标地址
  console.log("begin copying ----->  to path:", path.resolve(__dirname, DEST_DIR));
  /**
  * 插件中代码地址  ../dist/,如文件index.html
  * 项目中使用的首页地址  示例myWorkspace,
  * 示例myWorkspace和文件index.html共同组成自定义首页地址:如:myWorkspace/index.html
  */
  fs.copy(path.resolve(__dirname, "../dist/"), path.resolve(__dirname, "../../../", DEST_DIR,"myWorkspace"),
  function (err) {
    if (err) return console.error(err)    //copy出错了,打印出错信息
    console.log("end copy to myWorkspace-------->success!")      //copy 结束输出
  });
}

4.3.在plugin.xml中定义执行4.2中创建的build.js的执行时间,使build.js生效

<!--  在构建应用程序之前执行  -->
<hook src="hooks/build.js" type="before_build" />

4.4.在ybm-manifest.json配置文件中确定插件的版本号。3.4中红色说明
4.5.打开数字化工作台,找到 应用构建服务 > 构建平台 >移动工作台
4.5.将插件(mtl-com-zsf)文件夹压缩成mtl-com-zsf.zip文件,在移动工作台 > 公共插件上传生成的zip
4.6.在移动工作台 > APP打包 中创建项目,首页配置选择自定义,填写4.2代码中自定义的首页地址:如:myWorkspace/index.html
image.png
后续打包流程与第一章一致