# MultiSimAdmin iOS iPhone 原生应用的 Swift Package。产品与技术说明见 [docs/ios-native.md](../../docs/ios-native.md), 本文件只写这个目录里怎么动手。 ## 目录 ```text Sources/MultiSimAdmin/ AppMetadata.swift 版本号与 Bundle ID 的唯一来源 MultiSimAdminApp.swift 入口、三个底部 Tab、调试直达参数 Models/ 实例、标签、查询等值类型 Features/{Fleet,Device,Messages,Logs,Settings}/ 页面与 view model Upstream/ 路由白名单、HTTP 客户端、按实例隔离的会话 Cookie Services/ 连接探测、凭据存储、依赖装配 Persistence/ 沙盒 JSON 文件仓储与日志存储 Theme/ 颜色令牌、按钮与卡片样式、骨架、主题模式 Support/ 错误文案、时间显示、调试启动 Resources/ Info.plist、Assets.xcassets Tests/MultiSimAdminTests/ 48 个用例 Design/ 图标生成脚本与参考稿 ``` ## 常用命令 ```bash swift build swift test xcodebuild -scheme MultiSimAdmin \ -destination 'platform=iOS Simulator,id=' \ -configuration Debug build swift Design/generate_app_icon.swift \ Sources/MultiSimAdmin/Resources/Assets.xcassets/AppIcon.appiconset/AppIcon1024.png ``` 未签名 IPA 从仓库根目录执行 `./scripts/build-ios-ipa.sh` 生成。 ## 发版要改的地方 版本号必须四处一致,否则测试会失败: 1. `Sources/MultiSimAdmin/Resources/Info.plist` 的 `CFBundleShortVersionString` 与 `CFBundleVersion` 2. `Sources/MultiSimAdmin/AppMetadata.swift` 3. `Tests/MultiSimAdminTests/AppMetadataTests.swift` 4. `Tests/MultiSimAdminTests/SettingsViewModelTests.swift` 改完补一份 `docs/ios-native-.md` 发布说明,并同步更新 `docs/ios-native.md`、仓库根 README 的版本引用。 ## 界面约定 界面不含任何蓝色:主操作、选中态、进度填充一律用石墨墨色(`AITheme.primary` / `AITheme.ink`), 颜色只留给状态语义——危险红、告警琥珀、成功绿,且只在真的表示状态时出现,健康读数保持墨色。 选中态用实心主色加 `onPrimary` 文字,不用低透明度色雾,浅色深色两套主题下都必须一眼可读; 同屏并排控件等高;选中态不得改变控件尺寸;标签统一 28pt 胶囊;卡片内部不再嵌套卡片, 并列读数改用发丝线分隔的栅格;不得出现因配色而在深色背景上消失的按钮或文字。