39d3534c57
El fix anterior arreglo los permisos —el crash se movio de start a beginSession, y de TCC a AVAudioNodeTap::CheckEmitBuffer— pero el tap seguia petando. Mi error: quitar el acceso a self del closure no elimina la inferencia de aislamiento. La inferencia viene de DONDE se escribe el closure, no de lo que captura. Escrito dentro de un metodo @MainActor, seguia siendo main-actor isolated, y el tap se dispara desde el hilo de audio en tiempo real. Ahora el handler se construye en makeTapHandler, que es nonisolated, y se pasa a installTap. La estructura se auto-verifica: quitarle nonisolated a makeTapHandler no compila, porque installTap es nonisolated y no puede llamar a un metodo aislado. El bug pasa de crash en produccion a error de compilacion. Tests: testTapHandlerRunsOffTheMainThread invoca el handler desde una cola de fondo, que es exactamente la condicion que trapeaba. No hace falta microfono; el intento anterior con AVAudioEngine se saltaba siempre porque el simulador no tiene entrada de audio utilizable. Barrido del mismo patron en el resto de servicios @MainActor: CalendarService y NotificationService usan las variantes async/await, que estan anotadas y no tienen closures. SpeechDictationService era el unico sitio. Lanes feedback y crashlog para leer los reportes de TestFlight desde la API: spaceship apunta a v1/betaFeedbacks, que Apple ya retiro; el endpoint vivo es v1/apps/<id>/betaFeedbackCrashSubmissions y el log viene inline en logText. Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012Ks8uUcMA9mjypVK7F2Pkt
89 lines
1.7 KiB
Markdown
89 lines
1.7 KiB
Markdown
fastlane documentation
|
|
----
|
|
|
|
# Installation
|
|
|
|
Make sure you have the latest version of the Xcode command line tools installed:
|
|
|
|
```sh
|
|
xcode-select --install
|
|
```
|
|
|
|
For _fastlane_ installation instructions, see [Installing _fastlane_](https://docs.fastlane.tools/#installing-fastlane)
|
|
|
|
# Available Actions
|
|
|
|
## iOS
|
|
|
|
### ios beta
|
|
|
|
```sh
|
|
[bundle exec] fastlane ios beta
|
|
```
|
|
|
|
Push a new beta build to TestFlight
|
|
|
|
### ios feedback
|
|
|
|
```sh
|
|
[bundle exec] fastlane ios feedback
|
|
```
|
|
|
|
Show the latest TestFlight beta feedback (tester reports and crashes)
|
|
|
|
### ios crashlog
|
|
|
|
```sh
|
|
[bundle exec] fastlane ios crashlog
|
|
```
|
|
|
|
Download the crash log of a TestFlight feedback submission (id from `feedback`)
|
|
|
|
### ios status
|
|
|
|
```sh
|
|
[bundle exec] fastlane ios status
|
|
```
|
|
|
|
Show the App Store state of each version (review status, release type)
|
|
|
|
### ios submit
|
|
|
|
```sh
|
|
[bundle exec] fastlane ios submit
|
|
```
|
|
|
|
Submit an already-uploaded build for App Store review (automatic release)
|
|
|
|
### ios refresh_dsyms
|
|
|
|
```sh
|
|
[bundle exec] fastlane ios refresh_dsyms
|
|
```
|
|
|
|
Download processed dSYMs from App Store Connect and send them to Crashlytics
|
|
|
|
### ios publish
|
|
|
|
```sh
|
|
[bundle exec] fastlane ios publish
|
|
```
|
|
|
|
Upload metadata + localized screenshots for an existing TestFlight build (no rebuild, no submit)
|
|
|
|
### ios release
|
|
|
|
```sh
|
|
[bundle exec] fastlane ios release
|
|
```
|
|
|
|
Push a new release build to the App Store
|
|
|
|
----
|
|
|
|
This README.md is auto-generated and will be re-generated every time [_fastlane_](https://fastlane.tools) is run.
|
|
|
|
More information about _fastlane_ can be found on [fastlane.tools](https://fastlane.tools).
|
|
|
|
The documentation of _fastlane_ can be found on [docs.fastlane.tools](https://docs.fastlane.tools).
|