Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

478
Views
Mostrar interfaz de usuario (posiblemente guión gráfico) con extensión de interfaz de usuario de transmisión

Soy un poco nuevo en la programación de IOS, estoy tratando de iniciar una transmisión en vivo usando Replaykit, he hecho algunos progresos al llamar a la vista del selector de servicio de transmisión desde la aplicación y también en la creación de 2 extensiones (Broadcast Upload Extension y Broadcast extensión de interfaz de usuario). Aparentemente, la extensión de IU de transmisión debe cargarse una vez que se selecciona la extensión desde la vista del selector y la otra recibe datos una vez que comienza la transmisión. Primero intenté crear una vista creando un guión gráfico y dándole una clase personalizada que es la misma con el de la extensión de IU de transmisión, sin embargo, cuando hago clic en la extensión desde la vista del selector, aparece el error inmediato The user declined application recording (no estoy seguro si me falta algún paso aquí), aparece este mismo error sin el guión gráfico también , probé print() en override func viewDidLoad() del controlador de vista de extensión de IU de transmisión y no obtuve registros en el área de depuración, por lo que ni siquiera sé si se carga.

Lo que necesito es mostrar una interfaz de usuario simple que luego llamará a una función de controlador de vista de extensión de interfaz de usuario de transmisión ( func userDidFinishSetup() ) que luego comenzará la transmisión. También aceptaré si la transmisión se puede iniciar directamente dentro de la aplicación sin la interfaz de usuario, en los documentos de Replaykit vi una función startBroadcast que pensé que podría lograr esto, obtuve un error broadcastInvalidSession = -5808 , lo que significa que "intenté iniciar una transmisión sin sesión previa". Ayuda muy apreciada, gracias.

Controlador de vista de IU de transmisión

 import ReplayKit class BroadcastSetupViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() print("WASSUP?"); } // Call this method when the user has finished interacting with the view controller and a broadcast stream can start func userDidFinishSetup() { print("GET IN!!!"); // URL of the resource where broadcast can be viewed that will be returned to the application let broadcastURL = URL(string:"http://apple.com/broadcast/streamID") // Dictionary with setup information that will be provided to broadcast extension when broadcast is started let setupInfo: [String : NSCoding & NSObjectProtocol] = ["broadcastName": "example" as NSCoding & NSObjectProtocol] // Tell ReplayKit that the extension is finished setting up and can begin broadcasting self.extensionContext?.completeRequest(withBroadcast: broadcastURL!, setupInfo: setupInfo) } func userDidCancelSetup() { let error = NSError(domain: "YouAppDomain", code: -1, userInfo: nil) // Tell ReplayKit that the extension was cancelled by the user self.extensionContext?.cancelRequest(withError: error) } }
over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

Así que me comuniqué con el incidente del soporte técnico de Apple (lamentablemente), me sugirieron que agregara "NSExtensionMainStoryboard" al info.plist de la extensión de la interfaz de usuario de transmisión similar a la respuesta de Greg, cuando eso no funcionó, envié mi código y nos enteramos que también tuve que eliminar la clave "NSExtensionPrincipalClass" del mismo lugar que impedía que se cargara, después de eso funcionó bien.

over 4 years ago · Santiago Trujillo Report

0

¿Está configurado el guión gráfico de su extensión de transmisión en la lista de información de la extensión?

En el diccionario NSExtension, debe agregar una clave llamada "NSExtensionMainStoryboard" y el valor debe ser el nombre de su guión gráfico, es decir, "MainInterface"

¿Puede establecer puntos de interrupción que también se llaman en las extensiones?

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!