为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架构列表(例如x86
、x86_64
、armv7a
、armv7k
和arm64
),将qbs.buildVariants
属性设置为构建变体列表(例如debug
和release
),然后Qbs将透明地执行必要的步骤,以生成各种工件并将它们组合成一个单个包。
由于单个构建配置相互完全独立,您可以在项目中继续使用以下条件分支
Properties { condition: qbs.buildVariant === "release" cpp.optimization: "small" }
©2023 Qt公司有限公司。在此处包含的文档贡献是各自所有者的版权。提供的文档根据自由软件基金会公布的GNU自由文档许可版1.3的条款进行许可。Qt及其相关标志是芬兰的Qt公司及其在全世界其他国家的商标。所有其他商标均为其各自所有者的财产。