为iOS构建

本主题描述了Qbs针对iOS的特定功能。

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

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

构建用户界面

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

创建应用包

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

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

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

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

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

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

多架构和构建变体

Qbs使用多路复用来创建多架构二进制和多变体框架,其中单个框架可以包含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公司及其在全世界其他国家的商标。所有其他商标均为其各自所有者的财产。