鸿蒙端提交

This commit is contained in:
Developer
2026-06-06 06:54:22 +08:00
parent bc7cb075c5
commit e119c84868
32 changed files with 357 additions and 201 deletions

View File

@@ -10,6 +10,7 @@
| 日期 | 版本 | 变更内容 |
|---|---|---|
| 2026-06-06 | v8 | 新增 `app_tracking_transparency` 差异对照条目;新增 `nearby_connections` 鸿蒙端本地stub包说明新增 §2.10 nearby_connections鸿蒙适配说明 |
| 2026-06-02 | v7 | **重大变更**pubspec.yaml 拆分为双模板pubspec.ohos.yaml + pubspec.macos.yamlpubspec.yaml 不再提交到 Git新增三方库变更通知机制新增 setup_pubspec.ps1 脚本 |
| 2026-06-02 | v6 | 鸿蒙端 pubspec.yaml 同步 bitsdojo_window → window_manager 迁移;更新 file_picker 本地包版本注释(v8.3.7→v11.0.0-ohos.1);更新 speech_to_text(^7.0.0→^7.4.0)、live_activities(^2.0.0→^2.4.9) 远程版本号;补充 dependency_overrides 中 bitsdojo_window_windows 移除说明 |
| 2026-06-01 | v5 | 新增 §2.6 pub cache 补丁说明;标记 bitsdojo_window 迁移完成file_picker 升级到 12.x |
@@ -148,6 +149,7 @@ Error: The getter 'ohos' isn't defined for the class 'TargetPlatform'
| connectivity_plus | `path: packages/connectivity_plus` | `^7.1.1` |
| device_info_plus | `path: packages/device_info_plus` | `^13.1.0` |
| permission_handler | `path: packages/permission_handler` | `^12.0.1` |
| app_tracking_transparency | `^2.0.6` | `^2.0.6` |
| flutter_local_notifications | `path: packages/flutter_local_notifications` | `^21.0.0` |
| url_launcher | `path: packages/url_launcher` | `^6.3.2` |
| app_links | `path: packages/app_links` | `^7.0.0` |
@@ -174,6 +176,7 @@ Error: The getter 'ohos' isn't defined for the class 'TargetPlatform'
| mobile_scanner | `path: packages/mobile_scanner` | `^7.1.4` |
| wifi_iot | `path: packages/wifi_iot` | `^0.3.19` |
| nearby_service | `path: packages/nearby_service` | `^0.2.1` |
| nearby_connections | `path: packages/nearby_connections` (stub) | `^4.1.1` |
| sqflite | `path: packages/sqflite` | `^2.4.1` |
| workmanager | `path: packages/workmanager` | `^0.9.0` |
| flutter_tts | `path: packages/flutter_tts` | `^4.2.0` |
@@ -345,6 +348,36 @@ MacBook Pro 端使用 pub.dev 版本 `^0.9.1`,鸿蒙端的 `ohosName` 参数
home_widget: ^0.9.1
```
#### 2.8.7 nearby_connections鸿蒙端本地stub包
`nearby_connections` 仅支持 Android/iOS 平台Google Nearby Connections API不支持鸿蒙。
鸿蒙端使用本地 stub 包 `packages/nearby_connections/`,提供与 4.x API 一致的类型定义和方法签名,
但所有方法调用抛出 `UnsupportedError`。代码中通过 `isP2pSupported` 守卫,鸿蒙端不会实际调用 P2P 方法。
```yaml
# 鸿蒙端使用本地 stub 包
nearby_connections:
path: packages/nearby_connections
# MacBook Pro 端使用远程版本
nearby_connections: ^4.1.1
```
> **注意**:鸿蒙端 stub 包的 Dart API 与远程版本完全一致(枚举、类型、方法签名),
> 编译不会报错。运行时由 `NearbyServiceAdapter.isP2pSupported` 守卫,
> 鸿蒙端 P2P 功能不可用,仅 `nearby_service` 原生引擎可用。
#### 2.8.8 app_tracking_transparency两端均使用远程版本
`app_tracking_transparency` 是 iOS 专属权限库App Tracking Transparency
两端均使用远程版本 `^2.0.6`,无需本地适配。代码中通过 `Platform.isIOS` 条件守卫,
非 iOS 平台直接返回授权成功,不影响鸿蒙/Android/macOS 编译。
```yaml
# 两端配置相同
app_tracking_transparency: ^2.0.6
```
### 2.9 ⚠️ pub cache 补丁MacBook Pro 端必读)
> **关键问题**`dependency_overrides` 中 `win32: ^6.0.1` 导致部分依赖 `win32 ^5.x` 的三方包编译失败。