打包 dmg 文件可见:https://blog.csdn.net/lovechris00/article/details/78029337
可以安装下面几种软件,本次以 Packages 为例,下载 Packages 即可。
下载地址:http://s.sudre.free.fr/Software/Packages/about.html
是之前 Xcode 自带的pkg 打包工具,网传在 /Development/Utility
文件夹,但目前没有这个文件夹,也不在 ~/library/Developer
这个文件夹。
正确方式是前往官网下载 Auxiliary Tools
,这个软件集合了多款开发者工具应用,但最后发布时间是 2012年。
https://developer.apple.com/download/more/?=for Xcode
下载成功后,打开 Auxiliary Tools
,选中 PackageMaker,直接拖拽到应用程序即可。PackageMaker 在 Auxiliary Tools
的 dmg包中,直接是个 .app 文件。
相关打包教程:https://blog.csdn.net/zhangkongzhongyun/article/details/20700659
相关教程
https://www.xuebuyuan.com/809255.html
可使用 pkgbuild + productbuild + pkgutil 来制作安装包。
比如我的文件夹叫做 PKGDemo,里面放上我需要安装的 App 文件
Packages分为两种模式,packages 软件已经说明的比较清楚,如下图
我们需要安装 .app 文件和一个 驱动程序,这里选择 Distribution
,它可以显示更丰富的内容。
一个 project 可以对应多个 packages,这里我们先修改 package 信息,后面修改全局的 project 信息。
可以设置安装完成后,是否重启应用、退出用户
选中 contents 里面的文件夹,然后选择下面的+ 按钮,即可添加文件到指定位置。
这个set 按钮一般没必要点击。
文件可以添加到这个目录树下的任意地方。
这是我添加了之后的效果。
这两个脚本的具体意思可参考:https://zhuanlan.zhihu.com/p/24895270
preinstall:针对单程序安装包(pkg),该脚本会在preflight脚本运行之后运行;针对多程序安装包(mpkg),该脚本会在用户按下Install铵钮后执行,只会在用户第一次安装该程序时执行。
postinstall:该脚本在程序安装完之后才运行。
常见的 preinstall (用来关闭、移除旧版本)
#!/usr/bin/env bash
echo "Running PKGDemo script"
# 关掉正在运行的app
echo "Killing PKGDemo"
killall "PKGDemo"
echo "Finding old version of PKGDemo"
sudo rm -rf /Applications/PKGDemo.app
echo "Removed old versions of PKGDemo in Applications, if any."
echo "Ran PKGDemo preinstall script success."
exit 0
常见的 postinstall
#!/usr/bin/env bash
echo "Running myframeworktest.app postinstall script."
echo "Installing myframework.framework."
rm -rf ~/Library/Frameworks/myframework.framework
mkdir ~/Library/Frameworks/myframework.framework
cp -r /Applications/myframeworktest.app/Contents/Frameworks/myframework.framework/* ~/Library/Frameworks/myframework.framework
chmod -R 6777 ~/Library/Frameworks/myframework.framework
echo "Ran myframeworktest.app postinstall script."
exit 0
点击 choose 即可选中脚本文件,点击 remove 可以移除。
点击左上方的 project 可以对这个 pkg 工程进行设置;
这里settings 界面中的 name,就是最后打包出来的name。
这里如果不管,就会显示下图中默认的英文字符;
点击右下角的添加按钮,右侧列表就会新增一行;选中新增这一行的内容,会显示 choose 按钮,可以选中本地的 txt 文件。
这里是我刚准备的 txt 文件,选中后,内容就会添加到这个面板。
在面板上无法修改这段内容,只能修改本地的这个 txt 文件。
如果修改了这个 txt 文件,保存后,面板的内容也会同步更新。
readme 默认是灰色的,也就是不显示;在安装步骤中也不显示。
但是如果你添加了 readme 相关的txt文件,就会显示出来。
这里是我添加的 readme.txt 文件。
这里一般不需要修改,但选中文件,在右侧添加 title 和 description 后,内容会不一样。
这里是我修改后的效果
点击右侧的 requirement,可以对安装的操作系统版本做要求。
选择最上方的 框,选中 background ,可以修改背景信息。可以发现它属于 introduction 这一步。
选择show 右侧的设置,改为 custom background,才能选择图片
选择图片,图片就会显示到我们的安装面板。
可以调整图片的对齐方式和显示的适配方式。
到这里基本配置完成
选中窗口,点击 Build --> build and run,会自动编译,并运行pkg 安装包。
你也可以只build,不run.
安装成功了,可以去应用程序文件夹(或者你添加的文件夹),检查下需要安装的文件是否存在了。
本次编译后,文件夹会变成如下:
下次更新App 版本时,双击这个文件打开,并修改里面的内容,再次build,就可以打一个新的 pkg 包。
可前往下方链接查看:
https://blog.csdn.net/lovechris00/article/details/80965744
pkg格式的软件安装其实就是把压缩在pkg里的文件解压出来并放置特定的路径下,再赋予它们特定的权限。
pkg相当于win下面的大型安装包,比如大型的micoffice软件,这种软件一般需要注册,而且安装时需要机主的权限。
dmg相当于win下面的rar压缩软件包。当然mac也能解压rar软件,很多都可以直接解压,然后拖到你需要的地方使用。
在数据产品中,PKG是塞班系统文件,也是Mac OS X中的pkg安装包,类似Windows系统中的.msi和.exe安装包,但给人的感觉更为高效和统一,或许这就是苹果系统更为高效的一个原因吧。由于 一般人使用塞班系统中pkg文件较少,所以这里主要讲讲较为常用的MAC系统中的PKG包的使用。