first commit

This commit is contained in:
2026-05-13 16:25:01 +03:00
commit cde75c54fc
1940 changed files with 32752 additions and 0 deletions
+21
View File
@@ -0,0 +1,21 @@
# Запуск Berdoff Music на iOS
Файлы в этой директории представляют собой Swift-оболочку, готовую к запуску на Mac в Xcode.
## Инструкция по запуску:
1. Перенесите всю папку `MusicMultiplatform` на компьютер Mac.
2. Убедитесь, что установлен **Xcode** и инструмент **Cocoapods** (если используете менеджер зависимостей, хотя для прямого импорта фреймворка он необязателен).
3. Самый простой способ запустить проект — открыть его в **Android Studio для Mac** (с установленным плагином Kotlin Multiplatform) или **JetBrains Fleet**. В них появится цель `iosApp` (симулятор или устройство). При нажатии кнопки Run IDE сама сгенерирует проект и свяжет его!
4. Альтернативный способ через Xcode:
- Создайте новый проект "iOS App" с интерфейсом **SwiftUI** в Xcode внутри папки `iosApp`.
- Замените файлы проекта на `iOSApp.swift` и `ContentView.swift` из этой директории.
- Перейдите во вкладку **Build Phases** вашего проекта в Xcode.
- Нажмите `+` -> `New Run Script Phase` и вставьте скрипт сборки фреймворка Compose:
```bash
cd "$SRCROOT/.."
./gradlew :composeApp:embedAndSignAppleFrameworkForXcode
```
- Переместите эту фазу `Run Script` НАВЕРХ списка фаз сборки (над Compile Sources).
- В настройках **Build Settings** добавьте путь к сгенерированному фреймворку (обычно `$(SRCROOT)/../composeApp/build/xcode-frameworks/$(CONFIGURATION)/$(SDK_NAME)`) в `Framework Search Paths`.
- Нажмите **Run** в Xcode!
+18
View File
@@ -0,0 +1,18 @@
import UIKit
import SwiftUI
import composeApp
struct ComposeView: UIViewControllerRepresentable {
func makeUIViewController(context: Context) -> UIViewController {
MainViewControllerKt.MainViewController()
}
func updateUIViewController(_ uiViewController: UIViewController, context: Context) {}
}
struct ContentView: View {
var body: some View {
ComposeView()
.ignoresSafeArea(.all, edges: .bottom) // Avoid double safe area insetting under screen gesture navigation
}
}
+12
View File
@@ -0,0 +1,12 @@
import SwiftUI
import composeApp
@main
struct iOSApp: App {
var body: some Scene {
WindowGroup {
ContentView()
.ignoresSafeArea(.keyboard) // Don't let SwiftUI handle keyboard, Compose handles it natively
}
}
}