You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Rodger-Wang
2d1ee0b783
apps/client 首次入库(Flutter 移动端)
从 /Users/yunyanzhineng/work/eaimar_client-main 搬入,未带原 .git,历史留在原仓库。
3215 个文件 / 约 118MB,其中约 40MB 是构建必需的预编译 SDK(azure_speech 的
MicrosoftCognitiveServicesSpeech.xcframework、device_jieli 的 JL_BLEKit 等)。
build/ (5.2G)、ios/Pods/ (311M)、android/.gradle/ (120M) 已由 .gitignore 挡掉。
本次入库的代码包含两项刚做完的改动:
1) 游客登录入口接上服务端开关。此前 _checkGuestLoginConfig() 恒定写死 true,
入口根本不读配置。现改为取服务端算好的结论,并把入口所在的 Builder 改成 Obx
——配置是异步拿到的,Builder 只渲染 onInit 时的初值 false,入口再也不会出现。
拿不到配置时按隐藏处理:默认显示会在送审期把不该露的入口露给审核员。
⚠️ 已发布的老客户端关不掉(写死 true),只对本版及以后生效。
2) iOS 上架合规修复:
- 移除 ATT/IDFA:删掉 Info.plist 的 NSUserTrackingUsageDescription、
SKAdNetworkItems、NSAdvertisingAttributionReportEndpoint,删掉 splash 里的
授权请求与 app_tracking_transparency 依赖。本 App 从不读取 IDFA,也没有任何
广告/归因 SDK,弹框纯粹劝退用户,还要在 App Store Connect 申报追踪数据类型。
- ios/Podfile 里那段 config.build_settings.delete('NSUserTrackingUsageDescription')
是无效代码(该 key 在 Info.plist 里,不是 build setting),换成注释说明。
- 通讯录符号(ITMS-90683 被拒原因)随之一并解决:permission_handler 走 SPM 后
按 Info.plist 有无对应 key 决定编不编,判定结果被 SwiftPM 按内容哈希缓存,
改完 plist 必须清 DerivedData 与 manifests 缓存才会重新求值。
另附 GOOGLE_PLAY_RELEASE_CHECKLIST.md:Google Play 上架阻塞项的实测梳理
(targetSdk 36 与 Billing 8 的 2026-08-31 期限、16KB 页对齐不合规的两个 .so、
支付回退逻辑的下架风险)。
⚠️ android/app/sign/ 下的 eaimar.keystore 与 Eaimar.properties(含明文签名密码)
随本次提交入库,与本仓库"私有仓库下接受真实凭据"的既有取舍一致。
仓库若要公开,这两个必须先摘出去。
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
1 month ago |
| .. |
|
Classes
|
apps/client 首次入库(Flutter 移动端)
|
1 month ago |
|
chat_storage
|
apps/client 首次入库(Flutter 移动端)
|
1 month ago |
|
README.md
|
apps/client 首次入库(Flutter 移动端)
|
1 month ago |
Chat Storage 插件 - iOS 实现
这是 Chat Storage 插件的 iOS 实现,用于本地存储聊天消息。
功能
- 保存消息到本地 SQLite 数据库
- 分页获取会话消息
- 获取会话列表
- 删除指定会话或消息
- 清空数据库
- 获取最近消息
实现细节
- 使用 Swift 语言编写
- 使用原生 SQLite3 API 进行数据库操作
- 数据库文件位置:应用文档目录下的
chat_storage.db
- 表结构:
CREATE TABLE messages (
id INTEGER PRIMARY KEY AUTOINCREMENT,
session_id TEXT NOT NULL,
message TEXT NOT NULL,
sender TEXT NOT NULL,
metadata TEXT,
created_at INTEGER NOT NULL
);
构建要求
- iOS 12.0+
- Xcode 14.0+
- Swift 5.0+
安装
该插件已包含在 Flutter 应用的依赖中,不需要单独安装。
开发者
若需修改插件代码,请确保:
- 修改后运行
flutter clean 和 flutter pub get 重新加载插件
- 若修改了数据库结构,需要考虑数据迁移方案
- 如需测试,可以使用
pod lib lint 验证插件的 iOS 部分