跳到主要内容
本页目录

新建、打开与导入工程

在 VS Code 中新建项目、打开已有工程、添加 Swift Package 依赖和小组件等 App 扩展,把 Swift Package 转成 App 工程。工程加载后显示在左侧 KXBuild 视图中,按 F5 即可运行调试。文末附各类工程应打开的目录。

新建项目

按 Ctrl+Shift+P 打开命令面板,运行 KXBuild: 新建项目,也可以在 KXBuild 视图标题栏「···」中选择「新建项目」。按向导完成四步。

新建项目向导的模板列表
步骤说明
1 选择模板需要额外工具的模板会标注出来。各模板的内容见项目模板
2 输入项目名字母开头,只能包含字母、数字和下划线
3 输入 Bundle ID默认按项目名生成,可以修改
4 选择目录项目创建在该目录下的同名文件夹中。Windows 建议使用短路径,React Native 和 Expo 项目的依赖路径较深

创建完成后选择「在新窗口打开」或「在当前窗口打开」。CocoaPods、Flutter、React Native、Expo 模板会自动执行初始化,进度显示在「输出」面板的 KXBuild 通道中,需要几分钟。初始化失败时项目目录会保留,选择「仍然打开」后可以手动完成剩余步骤。

打开已有工程

通过「文件 → 打开文件夹」打开工程目录。Xcode 工程打开 .xcodeproj 或 .xcworkspace 所在目录,Swift Package 打开 Package.swift 所在目录,Flutter、React Native、Expo、Kotlin Multiplatform 打开工程根目录。KXBuild 视图会自动列出目录下的工程和 target。

打开工程目录后 KXBuild 视图列出工程和 target

目录下有多个工程时,F5 和「构建」作用于启动项目,在工程节点上点击即可切换,详见侧边栏 → 启动项目。

首次打开 Flutter、React Native、Expo 工程,必须先在 KXBuild 视图标题栏「···」中运行「体检并修复开发环境」,安装依赖并检查 SDK,否则无法编译。CocoaPods 工程先在 Podfile 所在目录运行 pod install,见 CocoaPods。

添加 Swift Package 依赖

在命令面板运行 KXBuild: 添加 Swift Package 依赖…,或在 KXBuild 视图中右键 target 选择它,相当于 Xcode 的 Add Package Dependencies。按提示输入包的 Git 地址或选择本地包目录,再选要用的产品。远程包默认用最新版本,允许升级到下一个主版本之前,和 Xcode 一样,添加时需要联网。

把 Swift Package 转为 App 工程

可执行 target 本身是 App 的 Swift Package 不能直接安装到 iPhone 或出 ipa。只有库的包是库,不转换,要用它就添加到 App 工程。打开 Package.swift 所在目录,在命令面板运行 KXBuild: 将 Swift Package 转为 App 工程(或点 KXBuild 视图里的提示行),按提示填写 App 名和 Bundle ID。App 工程建在包目录下的同名子目录中,和包一起提交到版本库,完成后自动设为启动项目,按 F5 即可调试。

转换时可能在 Package.swift 里加一行 .library,完成后检查并提交这处改动。完整流程见 纯 Swift Package。

添加 Target(扩展、App Clip、框架)

在 KXBuild 视图中右键工程或 target 选择 KXBuild: 添加 Target…,或在命令面板运行它,相当于 Xcode 的 File → New → Target。

步骤说明
1 选择类型App 扩展(小组件、通知、分享、键盘、iMessage、Safari 扩展等)、App Clip、框架、静态库或资源包
2 选择 App添加到哪个 App。右键 App target 时直接用它,框架、静态库、资源包也可以不添加到 App
3 选择语言框架和静态库可选 Swift 或 Objective-C
4 输入名称默认是 App 名加类型,如 MyAppWidget,同时是源码文件夹名
5 输入 App Group扩展或 App Clip 要和 App 共享数据时填写,如 group.com.example.myapp,不共享就留空

完成后工程目录下多出一个同名文件夹,可以直接编译。扩展的 Bundle ID 是 App 的 Bundle ID 加点和小写的名称,如 com.example.myapp.myappwidget,App Clip 是 App 的 Bundle ID 加 .Clip。框架链接并嵌入 App,静态库链接进 App,资源包复制到 App 里。它们随 App 一起构建和安装,按 F5 即可。全部类型见 project add-target。

扩展和 App Clip 装到手机前,在 Apple 开发者后台为它的 Bundle ID 注册 App ID 并生成描述文件,和 App 的描述文件一起放进证书目录。填了 App Group 的,先在后台创建这个 App Group,给 App 和扩展两个 App ID 都开启 App Groups 并选中它,再重新生成两者的描述文件。添加完成后的提示里会列出要注册的 App ID 和要开启的能力,详见证书与签名。

附录 各类工程打开的目录

工程类型打开的目录
Xcode 工程 / 工作区.xcodeproj / .xcworkspace 所在目录
Swift PackagePackage.swift 所在目录
CocoaPods 工作区Podfile 所在目录
FlutterFlutter 工程根目录
React Native / ExpoRN 工程根目录
Kotlin MultiplatformKMP 工程根目录
Unity / Godot / Cordova 导出导出的 Xcode 工程目录
cocos2d-x工程根目录(cocos new 生成的目录)

接下来