Guida introduttiva all'SDK di trasmissione IVS su iOS | Streaming in tempo reale
Questo documento illustra i passaggi necessari per iniziare a utilizzare l'SDK di trasmissione IVS per lo streaming in tempo reale su iOS.
Installare la libreria
Si consiglia di integrare l'SDK di trasmissione tramite Swift Package Manager. (In alternativa, esiste la possibilità di eseguire l'integrazione tramite CocoaPods o aggiungendo manualmente il framework al proprio progetto).
Consigliato: Integrare l'SDK di trasmissione (Swift Package Manager)
-
Scaricare il file Package.swift da https://broadcast.live-video.net/1.38.0/Package.swift
. -
Nel tuo progetto, crea una nuova directory denominata AmazonIVSBroadcast e aggiungila al controllo delle versioni.
-
Inserire il file Package.swift file nella nuova directory.
-
In Xcode, vai su File > Aggiungi dipendenze del pacchetto e seleziona Aggiungi locale…
-
Passare e selezionare la directory AmazonIVSBroadcast creata e selezionare Aggiungi pacchetto.
-
Quando viene richiesto di scegliere i prodotti del pacchetto per AmazonIVSBroadcast, selezionare AmazonIVSBroadcastStages come prodotto del pacchetto impostando la destinazione dell'applicazione nella sezione Aggiungi alla destinazione.
-
Seleziona Aggiungi pacchetto.
Importante: l'SDK di trasmissione per lo streaming in tempo reale IVS include tutte le funzionalità dell'SDK di trasmissione per lo streaming a bassa latenza IVS. Non è possibile integrare entrambi gli SDK nello stesso progetto.
Approccio alternativo: integrare l'SDK di trasmissione (CocoaPods)
Importante: CocoaPods è in modalità di manutenzione (solo correzioni di sicurezza) e dopo dicembre 2026 non è possibile pubblicare nuovi pacchetti o aggiornamenti nel repository CocoaPods. I pacchetti esistenti rimarranno disponibili ma congelati. Consigliamo di utilizzare Swift Package Manager per tutti i nuovi progetti.
La funzionalità in tempo reale è pubblicata come sottospecie dell'SDK di trasmissione in streaming a bassa latenza per iOS. In questo modo i clienti possono scegliere di includerla o escluderla in base alle loro esigenze di funzionalità. Includerla aumenta le dimensioni del pacchetto.
I rilasci sono pubblicati tramite CocoaPods sotto il nome AmazonIVSBroadcast. Aggiungere questa dipendenza al proprio Podfile:
pod 'AmazonIVSBroadcast/Stages'
Eseguire pod install e l'SDK sarà disponibile nel .xcworkspace.
Importante: l'SDK di trasmissione per lo streaming in tempo reale IVS (ad esempio, con la sottospecifica della fase) include tutte le funzionalità dell'SDK di trasmissione per lo streaming a bassa latenza IVS. Non è possibile integrare entrambi gli SDK nello stesso progetto. Se aggiungi la specifica secondaria dello stage tramite CocoaPods al tuo progetto, assicurati di rimuovere qualsiasi altra riga nel Podfile contenente AmazonIVSBroadcast. Ad esempio, non hai entrambe queste righe nel tuo Podfile:
pod 'AmazonIVSBroadcast' pod 'AmazonIVSBroadcast/Stages'
Approccio alternativo: installare manualmente il framework
-
Scarica la versione più recente da https://broadcast.live-video.net/1.38.0/AmazonIVSBroadcast-Stages.xcframework.zip
. -
Estrarre i contenuti dell'archivio.
AmazonIVSBroadcast.xcframeworkcontiene l'SDK sia per il dispositivo sia per il simulatore. -
Incorporare
AmazonIVSBroadcast.xcframeworktrascinandolo nella sezione Framework, librerie e contenuto incorporato della scheda Generali per il target dell'applicazione.
Richiedere autorizzazioni
L'app deve richiedere l'autorizzazione per accedere alla fotocamera e al microfono dell'utente. (Questo non riguarda solo Amazon IVS, ma qualsiasi applicazione che abbia bisogno di accedere alle fotocamere e ai microfoni.)
Qui, controlliamo se l'utente ha già concesso le autorizzazioni e, in caso contrario, ne facciamo richiesta:
switch AVCaptureDevice.authorizationStatus(for: .video) { case .authorized: // permission already granted. case .notDetermined: AVCaptureDevice.requestAccess(for: .video) { granted in // permission granted based on granted bool. } case .denied, .restricted: // permission denied. @unknown default: // permissions unknown. }
È necessario eseguire questa operazione per entrambe le tipologie di contenuti multimediali .video e .audio, se si desidera accedere rispettivamente a fotocamere e microfoni.
Inoltre, è necessario aggiungere voci per NSCameraUsageDescription e NSMicrophoneUsageDescription a Info.plist. In caso contrario, quando si tenta di richiedere le autorizzazioni l'app potrebbe subire un arresto anomalo.
Disabilitare il timer di inattività dell'applicazione
Questo passaggio è facoltativo, ma è consigliato. Impedisce al dispositivo di andare in sospensione durante l'utilizzo dell'SDK di trasmissione, che causerebbe l'interruzione della trasmissione.
override func viewDidAppear(_ animated: Bool) { super.viewDidAppear(animated) UIApplication.shared.isIdleTimerDisabled = true } override func viewDidDisappear(_ animated: Bool) { super.viewDidDisappear(animated) UIApplication.shared.isIdleTimerDisabled = false }