SDK_DEV_SETUP.md 1.7 KB

QGVAPlayer SDK 开发环境(本仓库)

1. 项目结构(开发视角)

  • QGVAPlayer/QGVAPlayer.xcodeproj: SDK 主工程(QGVAPlayer framework)
  • QGVAPlayerDemo/QGVAPlayerDemo.xcodeproj: ObjC Demo(子工程依赖 SDK)
  • QGVAPlayerDemoSwift/QGVAPlayerDemoSwift.xcodeproj: Swift Demo(子工程依赖 SDK)
  • QGVAPlayer.podspec: Pod 发布配置

两个 Demo 都是直接依赖本地 QGVAPlayer.xcodeproj,适合边改 SDK 边验证。

2. 一次性环境准备

在仓库根目录执行:

bash scripts/dev/setup_sdk_dev.sh

脚本会做:

  • 检查 Xcode / xcrun
  • 检查并尝试安装 MetalToolchain
  • 准备仓库内 ./.deriveddata 构建目录
  • 校验三个 xcodeproj 可被识别

3. 日常开发流程(推荐)

  1. 修改 SDK 源码:QGVAPlayer/QGVAPlayer/**/*
  2. 编译回归 Demo:

    bash scripts/dev/build_demo.sh all
    

可选只编译单个 Demo:

bash scripts/dev/build_demo.sh objc
bash scripts/dev/build_demo.sh swift
  1. 在 Xcode 中运行 App 验证:
  2. 推荐直接打开根目录 workspace:QGVAPlayerDev.xcworkspace(可同时看到 SDK + ObjC Demo + Swift Demo)
  3. ObjC: 打开 QGVAPlayerDemo/QGVAPlayerDemo.xcodeproj
  4. Swift: 打开 QGVAPlayerDemoSwift/QGVAPlayerDemoSwift.xcodeproj

4. 备注

  • 工程内已调整:QGVAPlayerQGVAPlayerDemoIPHONEOS_DEPLOYMENT_TARGET12.0(兼容新 Xcode)。
  • build_demo.sh 里已做命令行覆盖:ObjC Demo 使用 12.0(规避 libarclite),Swift Demo 使用 14.5(匹配 SceneDelegate API)。
  • 如果命令行提示 metal 不可用,先执行一次:

    xcodebuild -downloadComponent MetalToolchain