L'application se bloque avec le message d'erreur suivant
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
Le point d'arrêt au crash semble être lié à AVAudioPlayer
let path = Bundle.main.path(forResource: "menu_background.mp3", ofType:nil)!
audioPlayer = try AwesomeAudioPlayer(contentsOf: URL(fileURLWithPath: path)) ---> breakpoint
Je crois que le message d'erreur est un avertissement pour les simulateurs, il n'est donc pas important.
Je pense que votre problème est un bug dans votre code. Devrait être quelque chose comme ça:
let path = Bundle.main.path(forResource: "menu_background", ofType:"mp3") audioPlayer = try AwesomeAudioPlayer(contentsOf: URL(fileURLWithPath: path!)) ---> breakpoint
Où forResource est le nom du fichier et ofType est l'extension. Vous pouvez également utiliser Bundle.main.url qui ressemblera à ceci:
let path = Bundle.main.url(forResource: "menu_background", withExtension:"mp3") audioPlayer = try AwesomeAudioPlayer(contentsOf: URL(fileURLWithPath: path!)) ---> breakpoint
la source
Vous pouvez utiliser do / catch pour éviter le plantage et examiner l'exception, ou ignorer le problème avec
try?
. Pour moi, cela n'apparaissait que dans le simulateur lors de l'appel:try? AVAudioSession.sharedInstance().setCategory(.playback)
Je pense qu'il est prudent de l'ignorer dans mon cas.
la source
Je pense que vous avez peut-être tous ajouté AVFoundation à la liste des cadres dans l'onglet Informations générales sur le projet.
Le code erroné était le suivant:
Et après avoir déplacé la
var audioPlayer: AVAudioPlayer
déclaration juste après la ligneimport AVFoundation
, elle semblait fonctionner.Le code suivant a donc fonctionné pour moi dans un
SwiftUI
projet.}
Je suivais initialement ce tutoriel de CodeWithChris et sa discussion a également conduit au changement ci-dessus. Consultez également le didacticiel suivant si vous avez besoin d'autres exemples.
J'espère que cela sera utile à quelqu'un d'entre vous!
À votre santé!
la source