49 lines
1.6 KiB
Markdown
49 lines
1.6 KiB
Markdown
# 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 才用)。
|