feat: add ios particle field runtime facade

This commit is contained in:
tei
2026-09-18 09:13:50 +09:00
parent 3e03949d34
commit d94f2bffd6
10 changed files with 491 additions and 0 deletions

View File

@@ -0,0 +1,18 @@
// Replace every <...> placeholder only after a reproducible XCFramework zip exists.
// The module/product name must remain MapLibre for MLRN compatibility.
// swift-tools-version: 5.7
import PackageDescription
let package = Package(
name: "MapLibreDistribution",
products: [
.library(name: "MapLibre", targets: ["MapLibre"]),
],
targets: [
.binaryTarget(
name: "MapLibre",
url: "<https://example.invalid/maplibre/MapLibre.dynamic.xcframework.zip>",
checksum: "<SHA256_OF_REAL_ZIP>"
),
]
)

View File

@@ -0,0 +1,14 @@
# MapLibre Particle iOS Binary Distribution 基线
本目录只保存后续独立 distribution repository 所需的可审计模板;不发布二进制、不创建远端仓库,也不改变 MapLibre iOS 上游版本号。
模块和 product 始终为 `MapLibre`。MLRN 11.3.6 与后续 Particle Bridge 必须通过同一份自定义 MapLibre binary 消费,不能再链接第二个同功能但不同模块名的 framework。
发布时:
1. 在 macOS 上从对应 Git commit 成功生成 `MapLibre.dynamic.xcframework`;
2. 压缩为 `MapLibre.dynamic.xcframework.zip`,对 zip 计算 SHA-256;
3. 用真实 URL、checksum、commit 和构建记录填充 `release-manifest.json`;
4. 将相同 URL/checksum 代入 `Package.swift.template`,再在独立 distribution repository 发布。
外部 binary distribution 版本独立于 `platform/ios/VERSION`;首个建议坐标为 `6.28.0-particle.1`。本 Step 尚未取得可发布 XCFramework zip,因此 manifest 保持 `NOT_BUILT`,不提供伪造 hash。

View File

@@ -0,0 +1,14 @@
{
"schemaVersion": 1,
"status": "NOT_BUILT",
"distributionVersion": "6.28.0-particle.1",
"moduleName": "MapLibre",
"artifact": {
"fileName": "MapLibre.dynamic.xcframework.zip",
"url": "NOT_BUILT",
"sizeBytes": null,
"sha256": "NOT_BUILT"
},
"sourceCommit": "3e03949d3411c830cfff4bf320cd350f5b6a7527",
"notes": "STEP-082 created the template only. Populate artifact fields only from a successful macOS XCFramework build."
}