SuperAPI AI 工具集

iblai-ios

部署与运维

查看项目

更新于 10-16 05:39

技能介绍

用途

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 开发者账号及相应签名配置;首次构建耗时较长。