目录与环境变量
安装目录 KXBUILD_HOME 里有什么,证书目录、共享目录,工程目录下会出现什么,用得上的环境变量。
安装目录 KXBUILD_HOME
工具链安装在一个目录中,环境变量 KXBUILD_HOME 指向它。安装脚本 会写入用户环境并把 bin 加进 PATH。Windows 默认 %USERPROFILE%\kxbuild,Linux 和 macOS 默认 ~/kxbuild。
子目录 / 文件 内容
bin/ kxbuild、kxdevice、xcodebuild、xcrun、codesign 等全部可执行文件
Developer/Platforms/ iOS 等平台的 SDK
Developer/Toolchains/ Swift 工具链
resources/templates/ 新建项目的模板
keychain/ 全机共用的证书、描述文件和 password.properties,见证书与签名
sharedcomponents/ 本地组件库。放进来的 Xcode .xip 或 SDK 与工具链压缩包,doctor 优先安装而不是下载,见 iOS SDK
工程目录
位置 说明
<工程目录>/keychain/ 工程自己的证书,优先于全局的 KXBUILD_HOME/keychain。也可以用构建设置 CODE_SIGN_KEYCHAIN 指向任意目录或单个 .p12
<工程目录>/build/<App>.ipa Release 构建的产物,旁边的 <App>.AppStoreInfo.plist 是上传用的资源描述
<工程根>/compile_commands.json 代码提示 用的编译参数,插件自动维护
~/DerivedData/<名字>-<哈希>/ 构建输出目录,.app 和 Swift 包都在这里,可用 --derivedDataDir 修改
.xcodeproj/project.pbxproj project add-setting、settings apply 和工程设置编辑器 直接修改它,建议先纳入版本控制
环境变量
变量 作用
KXBUILD_HOME 安装目录
KXBUILD_NO_UPDATE_CHECK 不再提示新版本,不做后台检查,CI 中可以设置
KXBUILD_SWIFT_WHOLE_MODULE 哪些 Swift 目标整模块编译(Whole Module),只在 Windows 和 Linux 上生效。默认 packages,只对远程 Swift Package;all 对所有 Swift 目标;none 全部按文件编译,和 Xcode 的默认一样。工程里设置了 Compilation Mode 的以工程为准。也可以用 -D 给。链接报 …vpfi 未定义时设为 all,见常见问题
KXBUILD_NODE_DIST_URL 、KXBUILD_RUBY_URL 、KXBUILD_GEM_SOURCE 只在安装脚本中读取,指定 Node、Ruby 的下载镜像和 gem 源,下载慢时使用
KXBUILD_PROJECT_NAME 、KXBUILD_BUNDLE_ID 、KXBUILD_PROJECT_DIR 、KXBUILD_TEMPLATE_ID 、KXBUILD_TEMPLATE_DIR 、KXBUILD_BIN 项目模板的 template.sh 中可读取的变量,见项目模板
接下来
上一篇
xcodebuild / xcrun 兼容