为tvOS构建

本主题介绍了适用于tvOS的Qbs特性。

注意:Qbs尚未支持Swift编程语言。

xcode模块包含基于Xcode开发的属性和规则。

构建用户界面

ib模块包含构建Interface Builder文档、故事板、资产目录和图标集的属性和规则。

创建应用程序包

bundle模块包含在Apple平台上构建和使用Core Foundation包(应用程序包和框架)的属性和规则。

要将应用程序产品作为包构建,或将动态库或静态库产品作为框架构建,请添加对bundle模块的依赖项,并将bundle.isBundle属性设置为true

Depends { name: "bundle" }
bundle.isBundle: true

Qbs还提供了一些强大的功能来帮助创建您的包所必需的部分Info.plist文件。实际上,您根本不需要提供Info.plist文件。相反,Qbs将根据产品中设置的模块属性自动生成一个包含必要键的Info.plist。

如果您指定了Info.plist文件,Qbs仍然可能从其他来源注入额外的键到最终输出。Info.plist键的一个显著来源是作为其他资源(如资产目录、XIBs/NIBs和故事板)编译的结果生成的部分 Info.plist文件。

您还可以使用bundle.infoPlist属性添加一组要添加到最终Info.plist中的键值对。这可以代替在磁盘上的实际Info.plist文件使用,或者与其一起使用。

多架构和构建变体

Qbs使用multiplexing创建多架构二进制文件和多变体框架,其中单一框架可以在Apple平台上包含库的发布版和调试版。

您可以设置qbs.architectures属性为CPU架构列表(例如x86x86_64armv7aarmv7karm64),以及设置qbs.buildVariants属性为一个构建变体列表(例如debugrelease),然后Qbs将透明地执行必要的步骤以生成各种工件并将它们组合成一个单一的包。

由于单个构建配置完全独立于彼此,您可以在项目中继续使用以下条件分支

Properties {
    condition: qbs.buildVariant === "release"
    cpp.optimization: "small"
}

©2023 Qt公司有限公司。本文件中包含的文件贡献归其各自的版权所有。本文档根据自由软件基金会发布的GNU自由文档许可证版本1.3的条款提供。Qt及其相关标志是芬兰及/或其他国家和地区的Qt公司的商标。所有其他商标均为其各自所有者的财产。