用途
iblai-ios 用于在 iOS 上构建并运行基于 Tauri v2 的 ibl.ai 应用。它覆盖项目初始化、模拟器开发、真机测试和生产 .ipa 构建的完整流程。
前置条件
- macOS(iOS 构建需要 Xcode)
- 从 Mac App Store 安装的 Xcode(包含 iOS SDK 与模拟器)
- Xcode Command Line Tools:xcode-select --install
- 带 iOS targets 的 Rust 工具链:rustup target add aarch64-apple-ios aarch64-apple-ios-sim
- 项目已添加 Tauri 支持:iblai add builds 与 pnpm install
使用方式
第 1 步:初始化 iOS 项目
添加 Tauri 支持后运行一次:iblai builds ios init 这会生成 src-tauri/gen/apple/,包含 Xcode 工程、Swift 桥接代码和 iOS 配置。只需运行一次。若遇到 Rust target 错误,请确保两个 target 均已安装。
第 2 步:在 iOS 模拟器上运行
iblai builds ios dev 或使用 pnpm 脚本:pnpm tauri:dev:ios 该命令会启动 Next.js 开发服务器、为 iOS 模拟器 target(aarch64-apple-ios-sim)编译 Rust 后端,并在默认 iOS 模拟器中启动应用。首次构建需数分钟(Rust 编译),后续构建因增量编译而较快。
选择特定模拟器:先用 iblai builds device 列出可用模拟器,再指定:iblai builds ios dev --device "iPhone 16 Pro"
模拟器故障排查:
- “No available iOS simulators”:打开 Xcode > Settings > Platforms > 下载 iOS runtime
- 构建失败并报“linking”错误:用 xcode-select -p 验证 Xcode 路径。若路径不正确,用户需自行运行 sudo xcode-select -s /Applications/Xcode.app/Contents/Developer(需要提权——建议前先与用户确认)
- 模拟器无法启动:尝试 xcrun simctl shutdown all 后重试
第 3 步:在真机上运行
通过 USB 连接 iPhone,然后:iblai builds ios dev --device 这会部署到连接的设备而非模拟器。
真机要求:
- Apple 开发者账号(免费或付费)
- 设备已在 Apple Developer 门户注册
- 在 Xcode 中配置开发描述文件
配置签名:在 Xcode 中打开 src-tauri/gen/apple/<app>.xcodeproj;选择 target > Signing & Capabilities;设置 Team 与 Bundle Identifier;Xcode 会自动管理描述文件。免费开发者账号最多可在 3 台设备上运行 7 天。付费 Apple Developer Program($99/年)可移除此限制。
第 4 步:构建发布 .ipa
本地构建(Ad Hoc / 开发):iblai builds ios build 或:pnpm tauri:build:ios .ipa 文件生成在 src-tauri/gen/apple/build/(也可用 find src-tauri/gen/apple -name "*.ipa" 定位)。
App Store 构建(CI):生成 GitHub Actions 工作流:iblai builds ci-workflow --ios 这会创建 .github/workflows/tauri-build-ios.yml,其内容为:配置 Node.js、pnpm 及带 iOS targets 的 Rust;安装 Tauri CLI;运行 cargo tauri ios init 与 cargo tauri ios build --export-method app-store-connect;将 .ipa 作为构建产物上传。
CI 所需的 GitHub Secrets:
- APPLE_API_KEY_BASE64:Base64 编码的 App Store Connect API 密钥(.p8 文件)
- APPLE_API_KEY_ID:来自 App Store Connect > Users and Access > Keys 的 Key ID
- APPLE_API_ISSUER:来自 App Store Connect > Users and Access > Keys 的 Issuer ID 编码 .p8 密钥:base64 -i AuthKey_XXXXXXXXXX.p8 | pbcopy
应用图标
从 logo 生成 iOS 可用图标:iblai builds iconography path/to/logo.png 这会在 src-tauri/icons/ 中生成所有所需尺寸。Tauri 会在 ios init 期间将它们映射到 iOS 资产目录。
命令汇总
- 添加 Tauri 支持:iblai add builds
- 初始化 iOS 项目:iblai builds ios init
- 在模拟器运行:iblai builds ios dev
- 在真机运行:iblai builds ios dev --device
- 列出可用设备:iblai builds device
- 构建发布 .ipa:iblai builds ios build
- 生成 CI 工作流:iblai builds ci-workflow --ios
- 生成应用图标:iblai builds iconography logo.png
参考
- iblai-app-cli:CLI 源码与模板
- iblai builds --help:完整构建命令列表
限制
需在 macOS 环境下使用,依赖 Xcode 与 Rust 工具链;真机与 App Store 构建需 Apple 开发者账号及相应签名配置;首次构建耗时较长。