Record SSH access and verified Xcode 27 build [skip ci]

This commit is contained in:
2026-09-13 18:13:07 +03:00
parent 1e14bf72a2
commit 2fbf3bf859
2 changed files with 44 additions and 6 deletions
+19 -5
View File
@@ -23,7 +23,7 @@ Windows-агентом и подключение по QR. В 0.4.0 добавл
## Сборка на Mac
1. Открыть `MusicBridge.xcodeproj` в Xcode 16 или новее.
1. Открыть `MusicBridge.xcodeproj` в Xcode 27.
2. Выбрать схему MusicBridge и симулятор iPhone. Run запускает приложение,
Test выполняет `MusicBridgeTests`.
3. Для физического iPhone выбрать свою Team в Signing & Capabilities. Сертификаты
@@ -38,7 +38,7 @@ Windows-агентом и подключение по QR. В 0.4.0 добавл
## GitHub Actions
`.github/workflows/ios.yml` собирает приложение и выполняет XCTest на `macos-15`
`.github/workflows/ios.yml` собирает приложение и выполняет XCTest на `xcode-27`
при push в main, pull request или ручном запуске. Сохраняет лог, `.xcresult`
и ZIP приложения **для симулятора**, который нельзя установить на физический iPhone.
Apple ID и сертификаты для этой проверки не требуются. GitHub remote подключён:
@@ -69,7 +69,7 @@ Apple ID и сертификаты для этой проверки не тре
Пользователь также подтвердил установку через iloader. Для повторной установки
с Live Activity используйте версию **0.6.0 (build 7)**:
`build/iPhone-0.6.0/MusicBridge-iPhone.ipa`. Выберите этот файл в iloader и
`build/iPhone-0.6.0-xcode27/MusicBridge-iPhone.ipa`. Выберите этот файл в iloader и
подпишите тем же Apple Account, которым установлена первая версия.
В 0.4.0 добавлены иконка, карточка QR, раскрываемые ручные поля, крупная
@@ -141,8 +141,7 @@ play/pause, следующий трек и обновление. Компакт
Apple предлагает `RemoteMediaSession` в новом NowPlaying framework (iOS 27+)
для отображения музыки внешнего устройства на экране блокировки и в Control Center.
Это подходит архитектуре MusicBridge. Нужны SDK/Xcode 27 и отдельное расширение
`com.apple.nowplaying.remote-media`; текущая сборка использует Xcode 16.4.
Это подходит архитектуре MusicBridge. Нужно отдельное расширение `com.apple.nowplaying.remote-media`. Сборка переведена на Xcode 27; 32 теста и Release archive прошли.
Эта интеграция исследована, но ещё не реализована. Для фоновых обновлений удалённых
сессий Apple также предоставляет push-механизм.
[Документация remote media sessions](https://developer.apple.com/documentation/nowplaying/publishing-remote-media-sessions).
@@ -155,3 +154,18 @@ Apple предлагает `RemoteMediaSession` в новом NowPlaying framewo
- [GitHub: лимиты и оплата Actions](https://docs.github.com/en/billing/concepts/product-billing/github-actions)
План и ограничения — в `PLAN.md`. Копия протокола агента — в `PROTOCOL.md`.
## Сервер сборки и фоновые обновления
GitHub Actions использует Apple Silicon runner `xcode-27` с проверкой версии Xcode.
SSH к локальной macOS-виртуалке настроен, однако она x86_64, без Xcode и не может
запускать Xcode 27. Для SDK 27 используется GitHub Actions.
Тестовый TLS-сервер требует `cryptography==46.0.3`; CI устанавливает пакет
в отдельное Python-окружение. Это зависимость тестов, не приложения.
Пользователь использует бесплатный Apple Account. APNs требует Push Notifications
capability и подписи с соответствующим provisioning profile, недоступных Personal Team.
Поэтому автоматическая фоновая доставка ещё не подключена. Команды Live Activity
выполняют запросы при нажатии; смена трека на ПК при приостановленном приложении
не обновляет карточку без запроса или push.