配合自动更新 - 安装包签名(mac)(待补充)

前提:实现自动更新需要签名

一、本地开发调试mac签名(无需具有权限的appple账号)

  1. 打开xcode,xcode -> preference -> add new acount 登录apple账号(系统会生成默认开发证书)

  2. command+空格开启钥匙串访问

  3. 选择登录 - 我的证书 - 选择当前账号下的证书

sudo vim ~/.bash_profile
// 添加
export CSC_LINK=~/work/ypshop.p12 // 你打算把p12签名文件存放的位置
export CSC_KEY_PASSWORD="12345" // p12密码
// 退出后刷新env
source ~/.bash_profile
// 启动新的终端窗口,准备打包
  1. 回到第4步,右键证书,导出到对应的p12文件
  2. 输入密码应该和CSC_KEY_PASSWORD一致
  3. 打包npm run package
  4. 提示
  • Mac Developer is used to sign app — it is only for development and testing, not for production
• signing file=build/mac/ypshop.app identityName=Mac Developer: 703390877@qq.com (AW2NUS55WJ) identityHash=56CF8E6D4AC72AA3FE4E4FD34AADB4F7AAE7051E provisioningProfile=none
• building target=DMG arch=x64 file=build/ypshop-0.1.3.dmg
• building target=macOS zip arch=x64 file=build/ypshop-0.1.3-mac.zip
• building block map blockMapFile=build/ypshop-0.1.3.dmg.blockmap
• building embedded block map file=build/ypshop-0.1.3-mac.zip

就可以了

8. 接下来就可以走自动更新流程了

二、 生产环境mac签名(需要指定权限账号/可生成 Developer ID Application证书)

  1. 添加证书

    xcode -> preference -> acount

    登录账号,选择manage certificates,添加 developer id application
  2. 创建有效证书后,跟着开发调试步骤2继续往下

参考1

参考2

参考3

三、 本地服务器搭建:

mkdir -p update_server/download

全局安装http-server

npm i http-server -g

启动文件服务器http-server

cd update_server

http-server -p 4000

将打包好的新版本文件放入download目录

访问

http://127.0.0.1:4000/download





electron开发 - mac平台的打包和签名 - 针对electron-builder的自动更新的更多相关文章

  1. electron开发 - mac关闭和隐藏窗口

    针对mac平台的app let willQuitApp = false; // 控制退出方式 mainWindow.on('close', (e) => { if (willQuitApp) { ...

  2. Window10 Electron 开发环境搭建及打包exe程序

    1.安装 Electron 首先要安装Node.js     (安装方法:https://www.cnblogs.com/inkwhite/p/9685520.html) 我这里已经安装好了. 2:安 ...

  3. 使用electron+Js开发夸平台(Linux、Win、Mac)的桌面应用程序

    一.开源地址: https://github.com/electron/electron 二.官方网站: https://electron.atom.io/ 三.案例

  4. C# Activex开发、打包、签名、发布 C# Activex开发、打包、签名、发布 [转]

    C# Activex开发.打包.签名.发布 2013-06-22 12:01:20 浏览:3823 一.前言 最近有这样一个需求,需要在网页上面启动客户端的软件,软件之间的通信.调用,单单依靠HTML ...

  5. C# Activex开发、打包、签名、发布

    一.前言      最近有这样一个需求,需要在网页上面启动客户端的软件,软件之间的通信.调用,单单依靠HTML是无法实现了,因此必须借用Activex来实现.由于本人主要擅长C#,自然本文给出了用C# ...

  6. cocos2dx 3.x(在Mac平台下利用Eclipse打包安卓apk安装包详细教程)

    最近在学习cocos2dx在MAC上如何打包apk,今天先把安装JDK和ANT的过程记来. 首先,打开终端,输入"java -version" 点击回车后,出现如下提示: 我们的M ...

  7. weex 项目开发 weexpack 项目 打包、签名、发布

    一. weexpack build android  和  weexpack run android 的 区别. (1)单纯打包 weexpack build android (2)打包并运行 wee ...

  8. weex 项目开发(六)weexpack 项目 打包、签名、发布

    一. weexpack build android  和  weexpack run android 的 区别. (1)单纯打包 weexpack build android (2)打包并运行 wee ...

  9. Cocos2d-x--iOS平台lua加密成luac资源方法和Jsc文件<MAC平台开发试用--windows平台暂未研究>

        首先要说.近期真的是太忙了.好久没写博客了,今天正好有空,就写一下近期在写游戏中的一些发现:     话说,基于Cocos2dx 引擎 + 脚本写游戏,至今的感触就是能够进行增量更新和即时编译 ...

随机推荐

  1. day58 作业

    目录 一.做一个图书管理系统页面 二.做一个主页模版 三.点赞 一.做一个图书管理系统页面 <!DOCTYPE html> <html lang="en"> ...

  2. 谈谈你对 TCP 三次握手和四次挥手的理解

    TCP三次握手: 1.客户端发送syn包到服务器,等待服务器确认接收. 2.服务器确认接收syn包并确认客户的syn,并发送回来一个syn+ack的包给客户端. 3.客户端确认接收服务器的syn+ac ...

  3. java 数据结构(五):数据结构简述

    1.数据结构概述数据结构(Data Structure是一门和计算机硬件与软件都密切相关的学科,它的研究重点是在计算机的程序设计领域中探讨如何在计算机中组织和存储数据并进行高效率的运用,涉及的内容包含 ...

  4. javascript基础(五): jQuery

     jQuery javaScript和jQuery的关系? jQuery库,里面存在大量的JavaScript函数 获取jQuery 公式:$(selector).action() <!DOCT ...

  5. [ArcEngine二次开发]为Feature的属性赋值

    在创建FeatureClass之后,需要为FeatureClass添加Features,在为Feature的字段赋值时,代码大致如下: 在这里赋值的时候,出现了一个错误: The operation ...

  6. 008.Nginx静态资源

    一 Nginx静态资源概述 1.1 静态资源类型 Nginx作为静态资源Web服务器部署配置, 传输非常高效, 常常用于静态资源处理,请求以及动静分离.通常非服务器动态运行生成的文件属于静态资源. 类 ...

  7. C# 字段初始值无法引用非静态字段、方法或属性( 类内部变量初始化)

    问题:字段初始值设定项无法引用非静态字段.方法或属性的问题 在类中  变量赋值其他变量报错? public class TestClass{  public TestClass()  {  }  pu ...

  8. OSCP Learning Notes - WebApp Exploitation(5)

    Remote File Inclusion[RFI] Prepare: Download the DVWA from the following website and deploy it on yo ...

  9. C++ 简单介绍线段树

    题目描述 如题,已知一个数列,你需要进行下面两种操作: 将某区间每一个数加上k. 求出某区间每一个数的和. 输入格式 第一行包含两个整数n,m分别表示该数列数字的个数和操作的总个数. 第二行包含n个用 ...

  10. python 简单粗暴的生产的验证码

    import os import pygame import random from pygame.locals import * count = 0; 生成验证码的函姝 def get_code() ...