dmg
提供构建 Apple 光盘镜像的支持。 更多信息...
自 | Qbs 1.9 |
属性
- backgroundColor : 字符串
- badgeVolumeIcon : 布尔值
- compressionLevel : 整数
- defaultLicenseLocale : 字符串
- dmgSuffix : 字符串
- format : 字符串
- hdiutilPath : 字符串
- iconPositions : 列表
- iconSize : 整数
- iconX : 整数
- iconY : 整数
- licenseAgreeButtonText : 字符串
- licenseDisagreeButtonText : 字符串
- licenseInstructionText : 字符串
- licenseLanguageName : 字符串
- licenseLocale : 字符串
- licensePrintButtonText : 字符串
- licenseSaveButtonText : 字符串
- sourceBase : 字符串
- textutilPath : 字符串
- volumeName : 字符串
- windowHeight : 整数
- windowWidth : 整数
- windowX : 整数
- windowY : 整数
详细说明
dmg
模块包含用于构建 Apple 光盘镜像的属性和规则,这些镜像通常用于在 macOS 上分发应用程序和安装程序。
此模块仅在 Apple 平台上可用。
Qbs 使得您可以使用自定义背景和图标布局构建 macOS 光盘镜像。大多数 macOS 应用程序都是通过一个 .dmg
文件安装的,通常通过使用自定义的图像背景和图标布局进行定制。不幸的是,正确构建这样的 DMG 文件具有挑战性,因为布局依赖于几个未文档化的专有文件格式,其中一些可以追溯到 Mac OS Classic 时代,并且甚至彼此嵌套。
现有的大多数创建 DMG 文件的工具都通过使用 AppleScript 来图形化地操纵 Finder 以生成适当的图标布局。这种方法既不稳定,也不适用于头节点构建服务器,因为启动图形应用程序所需的操作系统服务可能根本未运行。许多项目都会手动创建主要的 .DS_Store
文件,并将结果提交到它们的源代码库。这个二进制 blob 很难检查和编辑,并且可能无法与旧版本的操作系统向后兼容,具体取决于其生成方式。
Qbs 采用不同的方法。它以可重复的方式程序化生成必需的文件,没有任何外部依赖需要单独安装,也不需要在源存储库中提交任何二进制块。
外观属性
外观属性用于控制 .DS_Store 文件以及 Qbs 生成的嵌入别名和书签记录的内容,这些都将用于在 Finder 中挂载磁盘镜像时控制磁盘镜像的外观。
许可证属性
许可证属性用于控制当用户尝试通过 Finder 挂载生成的磁盘镜像时显示的许可证提示的内容和外观。
相关文件标记
文件标记决定了标记文件的处理方式。
标记 | 自动标记的文件名 | 自 | 描述 |
---|---|---|---|
"dmg.input" | n/a | 1.9 | 标记文件被复制到磁盘镜像中。sourceBase 属性控制复制的文件在磁盘镜像中的目标目录和层次结构。 |
"dmg.license.input" | *.txt , *.rtf , *.html , *.doc , *.docx , *.odt , *.xml , *.webarchive | 1.9 | 标记文件被转换为富文本,并在挂载 DMG 时用于许可证提示。 |
"icns" | *.icns | 1.3 | 标记的文件作为 Apple 磁盘镜像体积图标添加,将在 Finder 中显示在文件图标上作为叠加。 |
"tiff" | *.tif , *.tiff | 1.9 | 标记的文件用作挂载 DMG 文件时 Finder 中显示的目录的背景图像。 |
属性文档
backgroundColor : 字符串 |
在 Finder 中挂载时看到的磁盘镜像的背景颜色。
有关支持的完整颜色名称和格式列表,请参阅 dmgbuild - 设置文档。
有关如何使用图像作为背景的更多信息,请参阅 qml-qbsmodules-dmg.html#filetags-dmg。
默认值:未定义
badgeVolumeIcon : 布尔型 |
是否在默认体积图标上渲染用户提供的图标("icns"),而不是直接使用它。这通常会使磁盘镜像图标的外观更好且更一致。
默认值:false
compressionLevel : 整数 |
UDZO、UDBZ 或 ULFO 磁盘镜像的 zlib、bzip2 或 lzfse 压缩级别。
默认值:发布模式下的 9
,否则未定义。
defaultLicenseLocale : 字符串 |
当没有与系统区域设置匹配的许可证时,显示默认许可证的区域设置。
默认值:"en_US"
dmgSuffix : 字符串 |
磁盘镜像的文件扩展名。
通常不需要更改。
默认值:".dmg"
format : 字符串 |
创建磁盘镜像的格式。
允许的值包括但不限于 "UDZO"
、"UDBZ"
和 "ULFO"
。
默认值:"UDBZ"
hdiutilPath : 字符串 |
hdiutil
二进制的路径,用于执行磁盘镜像相关操作。
通常不需要更改。
默认值:"/usr/bin/hdiutil"
iconPositions : 列表 |
一个包含 path
,x
和 y
属性的对象列表,这些属性对应于磁盘映像相对文件路径和磁盘映像中文件图标在Finder中挂载时的可视坐标。
例如
dmg.iconPositions: [ {"path": "Applications", "x": 128, "y": 128}, {"path": "Foo Bar.app", "x": 256, "y": 128} ]
此属性在指定没有对应Qbs艺术品或无法获取对应Qbs艺术品(例如,“Foo Bar.app”是一个目录,在构建图中没有等效艺术品)文件位置的文件时很有用。
对于直接应用 dmg.input 文件标签的文件,应使用 iconX 和 iconY 属性。
默认值:未定义
iconSize : int |
当磁盘映像在Finder中挂载时,文件图标显示的宽度和高度。
默认值:128
iconX : int |
在挂载时显示磁盘映像内容的Finder窗口中文件图标的X坐标。
此属性仅与标记为 dmg.input 的艺术品相关。在产品级别上不能用于影响所有文件。
如果你没有访问你想要设置位置的文件对应的艺术品,请使用 iconPositions 属性代替。
默认值:windowWidth / 2
iconY : int |
在挂载时显示磁盘映像内容的Finder窗口中文件图标的Y坐标。
此属性仅与标记为 dmg.input 的艺术品相关。在产品级别上不能用于影响所有文件。
如果你没有访问你想要设置位置的文件对应的艺术品,请使用 iconPositions 属性代替。
默认值:windowHeight / 2
licenseAgreeButtonText : string |
与许可文件关联的 协议 按钮上显示的文本,已本地化到 licenseLanguageName 的值。
此属性仅与标记为 dmg.license.input 的艺术品相关。在产品级别上不能用于影响所有文件。
默认值:"Agree"
licenseDisagreeButtonText : string |
与许可文件关联的 Disagree
按钮上显示的文本,已本地化到 licenseLanguageName 的值。
此属性仅与标记为 dmg.license.input 的艺术品相关。在产品级别上不能用于影响所有文件。
默认值:"Disagree"
licenseInstructionText : string |
与许可文件相关联的指令文本,将在许可对话框中显示,本地化到 licenseLanguageName 的值。
此属性仅与标记为 dmg.license.input 的艺术品相关。在产品级别上不能用于影响所有文件。
默认值:"如果您同意本许可协议的条款,请按“同意”进行软件安装。如果您不同意,请按“不同意”。”
licenseLanguageName : string |
licenseLocale : string |
许可文件的区域设置。
默认值:从文件路径中自动猜测的值,特别是找到的任何 .lproj
目录的基础名称。如果无法从文件路径中确定区域设置并且此属性未设置,则将发出错误。
此属性仅与标记为 dmg.license.input 的艺术品相关。在产品级别上不能用于影响所有文件。
默认值:自动确定。
licensePrintButtonText : string |
与许可文件关联的 Print
按钮上显示的文本,已本地化到 licenseLanguageName 的值。
此属性仅与标记为 dmg.license.input 的艺术品相关。在产品级别上不能用于影响所有文件。
默认值:"Print"
licenseSaveButtonText : string |
显示在与许可文件关联的保存按钮上的文本,本地化到licenseLanguageName的值。
此属性仅与标记为 dmg.license.input 的艺术品相关。在产品级别上不能用于影响所有文件。
默认值:"保存"
sourceBase : 字符串 |
即将嵌入到DMG文件中的文件的基目录("dmg.input")。源基目录将从DMG目录的目标目录路径中省略。
默认值:将被嵌入的当前文件的目录,相对于产品源目录。
textutilPath : 字符串 |
用于将许可协议文件转换为富文本格式的textutil
二进制文件的路径。
通常不需要更改。
默认值:"/usr/bin/textutil"
volumeName : 字符串 |
当DMG挂载时在Finder中显示的磁盘映像名称。
windowHeight : 整数 |
当磁盘映像挂载时显示磁盘映像内容的Finder窗口的高度。
注意:窗口高度包括标准macOS标题栏的高度(22点)。
默认值:480
windowWidth : 整数 |
当磁盘映像挂载时显示磁盘映像内容的Finder窗口的宽度。
默认值:640
windowX : 整数 |
当磁盘映像挂载时显示磁盘映像内容的Finder窗口的X位置。
默认值:100
windowY : 整数 |
当磁盘映像挂载时显示磁盘映像内容的Finder窗口的Y位置。
默认值:100
©2023 Qt公司版权所有。本文件中包含的文档贡献是各自所有者的版权。本文件提供的文档根据自由软件基金会公布、自由文档许可证(http://www.gnu.org/licenses/fdl.html)的条款授权。Qt及其相关标志是芬兰的Qt公司在其他国家/地区的商标。所有其他商标都是其各自所有者的财产。