Files
MapLibreParticleLab/docs/报告/V25_iOS实体机Bazel构建兼容性修复与资源溯源_v1.md
tei f32f6f45fd
Some checks failed
validate-scripts / validate-scripts (push) Has been cancelled
build: fix v25 iOS device-only Bazel release inputs
2026-10-11 22:28:58 +09:00

22 lines
2.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# V25 iOS 实体机 Bazel 构建兼容性修复与资源溯源 v1
日期:2026-10-11。范围:仅 Particle 统一发行的 iOS Metal 实体机 arm64 构建与 Bazel Core 文件声明;不改共享运行时 API,不引入 Simulator slice。
## 故障与原因
- V25 首次统一发行 `release.sh 25 build` 的 Android 四 ABI Release AAR 与 Maven Local PASS;在 iOS Bazel opt `AssetCatalogCompile` 因 Xcode `actool` 返回 `No available simulator runtimes for platform iphonesimulator` 中断。手工指定 `actool --platform iphoneos` 亦同样失败,不能将其误读为 XCFramework 需要模拟器架构。
- 后续尝试暴露 Bazel Core 声明缺失:当前源码已新增 `src/mln/renderer/symbol_shader_provenance.hpp`、`symbol_render_inputs.hpp`、`symbol_render_result.hpp`,原 `bazel/core.bzl` 中 `MLN_CORE_HEADERS` 未登记;已补齐三项。
## 实体机资源输入与溯源
- v23 正式发行:`13.6.1-particle.23` / iOS `6.29.0-particle.23`,来源 `release/maplibre-particle/13.6.1-particle.23/SOURCE_LOCK.json` 的正式发行 iOS ZIP。该 ZIP 本地 SHA-256=`9dbc477458377ab7e207bfd125d8f4106d3d83e7f923499a7bc048e39f74a76a`,与 v23 Source Lock 一致。
- 提取 ZIP 内 `MapLibre.xcframework/ios-arm64/MapLibre.framework/Assets.car`,本次纳入版本控制 `platform/ios/resources/Assets.car`,SHA-256=`997014687d17e93b9a979b4a47229d082e04a03587b01b4718ac7cb20f1a196b`。
- 核对 `git diff 87f3d1c59a52581fb8339f0ea7d106b9f4b94fef HEAD -- platform/ios/resources/Images.xcassets` 为无差异;即资源原始输入自 v23 冻结源码未改变。保留原始 `.xcassets` 文件供其他构建使用,仅 `apple_xcframework(name="MapLibre.dynamic")` 的资源输入使用上述受控、可追溯的已编译 `Assets.car`,避免当前 Xcode 环境的 `actool` 错误。
- 该预编译资源绑定 Xcode 26.3 (`17C529`) 工具链;后续原始资源改变或 Xcode 资源格式变更时,须重新生成并记录 Hash,不能无限期假设可复用。
## 验证与边界
- 原 Bazel opt Metal 真机命令:`bazel build -c opt --//:renderer=metal //platform/ios:MapLibre.dynamic`。本阶段候选资源及头文件修正的验证结果为 `Build completed successfully`,exit 0;约 772 项,实际构建 563 actions 后的增量验证通过。
- 产生 `bazel-bin/platform/ios/MapLibre.dynamic.xcframework.zip`,仅 `ios-arm64`,无 Simulator;ZIP 内 `MapLibre.framework/Assets.car` SHA-256 与输入 `997014...` 一致。
- 以上仅证明 iOS 实体机二进制**可以构建**,不代表 iOS 真机运行通过、NavSea RN 宿主端验收、正式公网发行已通过。正式 Build Source Commit、Android/iOS/RN 同源构建、GSRL Source Lock、远端制品 SHA 需另行严格验收。