# iOS App (Xcode host) Kotlin Multiplatform Compose UI runs inside a native iOS shell. ## Open in Xcode ```bash cd iosApp ./setup.sh # needs xcodegen (`brew install xcodegen`) open iosApp.xcodeproj ``` 1. 选择模拟器或真机 2. 签名已与 Flutter Runner **Manual** 对齐(见下表);模拟器会走本地签名 3. Run(⌘R)——预编译脚本会自动跑 `:composeApp:embedAndSignAppleFrameworkForXcode` ## Bundle ID / App Group / 签名(与 Flutter 一致) | | Value | |---|---| | App | `com.zhushenwudi.lovelivemusicplayer` | | Widget | `com.zhushenwudi.lovelivemusicplayer.HomeWidgetExample` | | App Group | `group.com.zhushenwudi.lovelivemusicplayer` | | Team | `V73L9LHPCA` | | Version | `1.7.4` (build `74`) | | Debug profile | `LLMP-M-DEVELOP` / `LLMP-M-DEVELOP-WIDGET` | | Release profile | `LLMP-M-RELEASE` / `LLMP-M-RELEASE-WIDGET` | | Profile (AdHoc) | `LLMP-M-AD-HOC` / `LLMP-M-AD-HOC-WIDGET` | 最低系统:App **iOS 18.0**,Widget **iOS 17.0**。 ## Layout ``` iosApp/ project.yml — XcodeGen 源配置(改完跑 ./setup.sh) setup.sh iosApp.xcodeproj — 用这个打开 iosApp/ — 主 App(UIKit + SwiftUI host) WidgetExtension/ — 桌面小组件 + 资源 ``` ## Notes - CarPlay entitlements 已挂在主 App(需账号侧已批准该 Bundle ID)。 - PiP 用的 `black.mp4` 已在 `iosApp/pip/`。 - SQLDelight 需要链接 `-lsqlite3`(已写在 `project.yml`)。 - 日常运行请选 **iosApp** scheme。若选 **WidgetExtension**,Xcode 会回到主屏刷新小组件(调试 Widget 才用)。