O aplicativo falha com a seguinte mensagem de erro
2019-10-12 20:01:34.332334-0700 Awesome App[26368:3535170] [plugin] AddInstanceForFactory: No factory registered for id <CFUUID 0x600002903280> F8BB1C28-BAE8-11D6-9C31-00039315CD46
O ponto de interrupção na falha parece estar relacionado ao AVAudioPlayer
let path = Bundle.main.path(forResource: "menu_background.mp3", ofType:nil)!
audioPlayer = try AwesomeAudioPlayer(contentsOf: URL(fileURLWithPath: path)) ---> breakpoint
Acredito que a mensagem de erro seja um aviso para os simuladores, portanto, não é importante.
Acho que seu problema é um bug no seu código. Deve ser algo como isto:
let path = Bundle.main.path(forResource: "menu_background", ofType:"mp3") audioPlayer = try AwesomeAudioPlayer(contentsOf: URL(fileURLWithPath: path!)) ---> breakpoint
Onde forResource é o nome do arquivo e ofType é a extensão. Você também pode usar o Bundle.main.url, que ficará assim:
let path = Bundle.main.url(forResource: "menu_background", withExtension:"mp3") audioPlayer = try AwesomeAudioPlayer(contentsOf: URL(fileURLWithPath: path!)) ---> breakpoint
fonte
Você pode usar do / catch para evitar a falha e examinar a exceção ou ignorar o problema
try?
. Para mim, isso só estava aparecendo no simulador ao chamar:try? AVAudioSession.sharedInstance().setCategory(.playback)
Eu acho que é seguro ignorá-lo no meu caso.
fonte
Acredito que todos vocês podem ter adicionado o AVFoundation à lista de estruturas na guia Informações gerais do projeto.
Código incorreto foi o seguinte:
E depois que mudei a
var audioPlayer: AVAudioPlayer
declaração para logo após a linhaimport AVFoundation
, ela parecia estar funcionando.Então, o código a seguir funcionou para mim em um
SwiftUI
projeto.}
Eu estava inicialmente seguindo este tutorial do CodeWithChris e sua discussão também levou às mudanças acima. Verifique também o tutorial a seguir, se precisar de mais exemplos.
Espero que isso seja útil para alguém lá fora!
Felicidades!
fonte