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 边验证。
在仓库根目录执行:
bash scripts/dev/setup_sdk_dev.sh
脚本会做:
xcrunMetalToolchain./.deriveddata 构建目录QGVAPlayer/QGVAPlayer/**/*编译回归 Demo:
bash scripts/dev/build_demo.sh all
可选只编译单个 Demo:
bash scripts/dev/build_demo.sh objc
bash scripts/dev/build_demo.sh swift
QGVAPlayerDev.xcworkspace(可同时看到 SDK + ObjC Demo + Swift Demo)QGVAPlayerDemo/QGVAPlayerDemo.xcodeprojQGVAPlayerDemoSwift/QGVAPlayerDemoSwift.xcodeprojQGVAPlayer 与 QGVAPlayerDemo 的 IPHONEOS_DEPLOYMENT_TARGET 为 12.0(兼容新 Xcode)。build_demo.sh 里已做命令行覆盖:ObjC Demo 使用 12.0(规避 libarclite),Swift Demo 使用 14.5(匹配 SceneDelegate API)。如果命令行提示 metal 不可用,先执行一次:
xcodebuild -downloadComponent MetalToolchain