mac生成.dmg压缩镜像文件

mac生成.dmg压缩镜像文件

  • 背景
  • 准备
  • 内容步骤
    • 1,找一个文件夹
    • 2,制作application替身
        • 1,终端方式
        • 2,黄金右手方式
    • 3,.app文件放入文件夹
    • 4,制作.dmg压缩镜像文件
    • 5,安装.dmg
  • 总结

背景

  • 为绕开App Store审核成本,mac 端可以直接安装使用debug包的app,我们只需要把debug生成的.app包压缩发送给客户即可
  • 为了给客户最好的体验,以及给予最简单的安装方式,省去不必要的安装麻烦,把.app文件和mac的application安装程序文件替身一起打包成.dmg压缩镜像文件
  • 安装时,只需要打开.dmg压缩镜像文件,直接把.app文件拖拽至application替身文件即可完成安装
  • 下面我们就探索一下怎么打包成.dmg压缩文件镜像
  • 网上也有dropdmg工具,但作为macOS开发者,个人不推荐使用,
    • 1,不知道底层有没有尾巴
    • 2,有些需要付费(家里有矿的当我没说,有矿的看完这文章省下的开支要不要大赏给博主加一下#96动力油)

准备

  • 编译好的.app文件
  • 找一个文件夹(推荐在desktop上新建),把编译好的.app文件放入此文件夹

内容步骤

1,找一个文件夹

在这里插入图片描述

  • 我是在desktop桌面上建立的文件夹,大公司需要归档留存的,可以放到特定文件夹,然后用脚本去生成application替身和.dmg(本文的操作即是脚本生成.dmg的思路)

2,制作application替身

1,终端方式
  • 1,cd索引到要找的文件夹,比如准备阶段在桌面的文件,xxx替换为自己的用户文件:
cd /Users/xxx/desktop/CPET_Mac_0710
  • 2,然后,使用命令生成application替身,比如cd索引到CPET_Mac_0710文件后,执行以下命令
ln -s /Applications/   Applications
  • 3,在CPET_Mac_0710文件夹下就看到了application替身文件
    在这里插入图片描述
2,黄金右手方式
  • 找到存放应用程序的文件夹,直接右键制作替身,然后把制作好的替身,直接拖拽至准备阶段准备的文件夹下
    在这里插入图片描述

3,.app文件放入文件夹

  • 把之前准备好的.app程序可执行文件一起放到文件夹下:
    在这里插入图片描述

4,制作.dmg压缩镜像文件

  • 1,打开磁盘工具:
    在这里插入图片描述
  • 2,新建映像->选择基于文件夹新建映像
    在这里插入图片描述
  • 3,选择准备阶段,准备的文件夹,并确认
    在这里插入图片描述
  • 4,dmg压缩文件名称,位置,是否需要加密,映像格式,有相关需求的就对应选择,没有的就按默认就行
    在这里插入图片描述
  • 5,至此,一个普通的.dmg镜像就制作完成了

5,安装.dmg

  • 本来不想加怎么安装dmg,嘿,别说还真遇到了不会安装dmg的同学,注意,不是把.dmg压缩文件拖入到application应用程序文件中

  • 1,双击上述制作好的.dmg压缩镜像文件,生成一个类似windows系统中USB扩展硬件的文件(这是解压后的dmg文件)
    在这里插入图片描述

  • 2,点击进入上步骤的文件,把.app文件拖拽至application替身文件,喝口水的时间app就安装完成了
    在这里插入图片描述

  • 3,然后进入启动台,就能看到安装的app了

  • 4,最后,右键dmg解压后的文件,推出即可
    在这里插入图片描述

总结

  • 看完本文是不是觉得.dmg压缩镜像文件是不是很简单,恭喜你又学到了新知识,mac的神秘面纱 或者说,遮羞布又被你扯下一层。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/799397.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

纯css实现语音播报动画效果

先来看看效果图 黑色以下代码 background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAAAYCAYAAAAF6fiUAAAAAXNSR0IArs4c6QAAAARzQklUCAgICHwIZIgAAAO8SURBVGiB1ZlPaBxVHMe/v7fbkmUZErRs9/1moUtYBBfxklZR8aYg5KAgvcT25MFDvUhPTaGnHoKIlOpJ0VsPUvAgKNjSS0EPAVGKya…

防火墙综合实验之NAT和智能选路

目录 前言: 一、实验题目 二、实验操作 需求一 需求二 需求三 需求四、需求五 需求六 需求七 ​编辑 需求八 需求九 需求十 需求十一 三、需求测试 前言: 本篇文章是延续上一篇文章,简单来说就是防火墙实验的完善和延续&#…

Zabbix6.0监控Freeswitch状态

一、前提环境说明 1、最终实现Freeswitch监控指标信息: 2、环境需求: (1)需要使用Zabbix6.0及以上 (2)需要使用zabbix_agent2 二、实现步骤 1、zabbix_agent2添加监控键值 cat /etc/zabbix/conf.d/fr…

唯众物联网综合实训台 物联网实验室建设方案

物联网综合实训装置 物联网工程应用综合实训台是我公司针对职业院校物联网行业综合技能型人才培养,综合运用传感器技术、RFID技术、接口控制技术、无线传感网技术、Android应用开发等,配合实训台上的433M无线通信设备、ZigBee节点、射频设备、控制设备、…

CoT-SC论文速读

1.论文速读 本文提出了一个重要的Decoder策略为:“Self-Consistency”,并将其用在CoT的Prompt工作中。 该策略作用:让LLM在处理复杂问题时,让他尝试多个推理路径,每一个推理路径都是一次CoT(Chain of Thought&#x…

解决回溯算法之切割问题(leetcode--分割回文串)

文章目录 1.问题描述2.做题思路(关键是画出对于的二叉树图)3.代码实现 1.问题描述 2.做题思路(关键是画出对于的二叉树图) 1.思考从起始串的分割方案, 有a ,aa, aab三种方式 2.————————————剩余ab,b,空(接下来对ab,b同样的方式进行分割) 3.…

【Linux】centos7安装PHP7.4报错:libzip版本过低

问题描述 configure: error: Package requirements (libzip > 0.11 libzip ! 1.3.1 libzip ! 1.7.0) were not met: checking for libzip > 0.11 libzip ! 1.3.1 libzip ! 1.7.0... no configure: error: Package requirements (libzip > 0.11 libzip ! 1.3.1 libzi…

星辰计划02-独特视角的spring动态代理

承接上一文 动态代理 ,这里探究spring 动态代理 会话1:spring动态代理 quick start 👧哥哥,哥哥,spring 怎么去搞动态代理的呢👨 来来来,听我细细来说 quick start通过Spring的 ProxyFactory…

【高中数学/幂函数】比较a=2^0.3,b=3^0.2,c=7^0.1的大小

【问题】 比较a2^0.3,b3^0.2,c7^0.1的大小 【解答】 a2^0.32^3/10(2^3)^1/108^1/10 b3^0.23^2/10(3^2)^1/109^1/10 c7^0.17^1/10 由于yx^1/10在x正半轴是增函数,底数大的得数就大。 因为9>8>7,所以b>a>c 【图像】 在图像上绘出曲线yx^1/10&…

C++初阶:类和对象(二)

✨✨所属专栏:C✨✨ ✨✨作者主页:嶔某✨✨ 类的默认成员函数 默认成员函数就是用户没有显式实现,编译器会⾃动⽣成的成员函数称为默认成员函数。⼀个类,我们不写的情况下编译器会默认⽣成以下6个默认成员函数,需要注…

报文对比工具

如果有报文对比需求,可以通过以下步骤实现: ①通过在线 XML排序、压缩、格式化 网站 排序后格式化数据 http://www.bejson.com/otherformat/xmlsort/ 访问速度快,操作直观, 1.原始xml数据 2.排序 3.格式化 ②N比对数据是否一…

哥德巴赫猜想c++

方法一 #include<bits/stdc.h> using namespace std; //定义函数&#xff0c;判断素数 bool sushu(int n){bool rtrue;//先假设是素数&#xff0c;即真//循环因子范围&#xff0c;找到一个因子就不是素数for(int i2;i<sqrt(n);i){//判断2~n的根号是否素数if(n%i0){//…

翁恺-C语言程序设计-05-3. 求a的连续和

05-3. 求a的连续和 输入两个整数a和n&#xff0c;a的范围是[0,9]&#xff0c;n的范围是[1,8]&#xff0c;求数列之和S aaaaaa…aaa…a&#xff08;n个a&#xff09;。如a为2、n为8时输出的是222222…22222222的和。 输入格式&#xff1a; 输入在一行中给出两个整数&#xf…

Hdfs3.x新特性详解

作者&#xff1a;九月 HDFS Disk Balancer(磁盘均衡器) HDFS Disk Balancer与HDFS Balancer的区别 两者都是实现负载均衡功能。 HDFS Balancer是之前Hadoop2.x中本身存在的&#xff0c;主要是多个DataNode节点之间的数据的平衡。 HDFS Disk Balancer是Hadoop3中新出现的&…

融云:换头像=换人设?社交应用中隐秘而重要的「用户信息管理」

当代年轻人失眠三大原因&#xff0c;最近新上的《喜人奇妙夜》帮你找到了—— 基金绿了、吵架输了、前任头像换了。 当你半夜翻看前任的社交账号&#xff0c;一场盛大的失眠就开始了&#xff0c;就算古希腊掌柜睡眠的神躺你旁边也不好使。即便 Ta 没有更新内容&#xff0c;昵…

Linux RTL8111/RTL8168 不能联网 / 最新版驱动下载安装

注&#xff1a; 机翻&#xff0c;未校对。 如何让 Realtek RTL8111/RTL8168 在 Linux 下工作 这篇文章于 2016 年 8 月在我原来的博客上发布。尽管如今 Linux 下的 RTL8111/RTL8168 网络接口的情况变得越来越稳定&#xff0c;但它们仍然会导致数据包丢失或网络连接不稳定等问题…

C1W1.Assignment: Logistic Regression

理论课&#xff1a;C1W1.Sentiment Analysis with Logistic Regression 文章目录 前期准备导入包导入数据处理推文文本 Part 1: Logistic regressionPart 1.1: Sigmoid实现 sigmoid 函数Logistic regression: regression and a sigmoid Part 1.2 Cost function and GradientUp…

自动驾驶-端到端分割任务

上采样 bed of nails interpolation transposed convolutions 1. 上采样 (Upsampling) 上采样是一种技术&#xff0c;用于增加数据集中的样本数量或是提高信号的分辨率。在图像处理中&#xff0c;上采样通常指的是增加图像的像素数量&#xff0c;从而使图像变得更大。这可…

【Android安全】Ubuntu 下载、编译 、刷入Android-8.1.0_r1

0. 环境准备 Ubuntu 16.04 LTS&#xff08;预留至少95GB磁盘空间&#xff0c;实测占94.2GB&#xff09; Pixel 2 XL 要买欧版的&#xff0c;不要美版的。 欧版能解锁BootLoader、能刷机。 美版IMEI里一般带“v”或者"version"&#xff0c;这样不能解锁BootLoader、…

Android之间互传消息之ServerSocket,Android服务端接收Socket发送的TCP

Android之间在在局域网下互传消息&#xff0c;咱就不用走云服务器了吧&#xff0c;让俩安卓设备&#xff0c;自己传呗 方式1 通过在安卓设备上搭建Web服务器接收数据&#xff0c;可参考 Android使用AndServer在安卓设备上搭建服务端(Java)(Kotlin)两种写法 方式2 本文章&…