Aplikasi macet dengan pesan kesalahan berikut
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
Breakpoint saat mogok tampaknya terkait dengan AVAudioPlayer
let path = Bundle.main.path(forResource: "menu_background.mp3", ofType:nil)!
audioPlayer = try AwesomeAudioPlayer(contentsOf: URL(fileURLWithPath: path)) ---> breakpoint
Saya percaya pesan kesalahan adalah peringatan untuk simulator karena itu tidak penting.
Saya pikir masalah Anda adalah bug dalam kode Anda. Seharusnya seperti ini:
let path = Bundle.main.path(forResource: "menu_background", ofType:"mp3") audioPlayer = try AwesomeAudioPlayer(contentsOf: URL(fileURLWithPath: path!)) ---> breakpoint
Di mana forResource adalah nama file dan ofType adalah ekstensi. Anda juga dapat menggunakan Bundle.main.url yang akan terlihat seperti ini:
let path = Bundle.main.url(forResource: "menu_background", withExtension:"mp3") audioPlayer = try AwesomeAudioPlayer(contentsOf: URL(fileURLWithPath: path!)) ---> breakpoint
sumber
Anda bisa menggunakan do / catch untuk menghindari crash dan memeriksa pengecualian, atau mengabaikan semua masalah bersama
try?
. Bagi saya, ini hanya muncul di simulator saat menelepon:try? AVAudioSession.sharedInstance().setCategory(.playback)
Saya pikir aman untuk mengabaikannya dalam kasus saya.
sumber
Saya yakin Anda semua mungkin telah menambahkan AVFoundation ke daftar kerangka kerja di tab Info Umum Proyek.
Kode yang keliru adalah sebagai berikut:
Dan setelah saya memindahkan
var audioPlayer: AVAudioPlayer
deklarasi ke tepat setelah garisimport AVFoundation
garis sepertinya berfungsi.Jadi kode berikut bekerja untuk saya dalam suatu
SwiftUI
proyek.}
Saya awalnya mengikuti tutorial CodeWithChris ini dan pembahasannya juga menyebabkan perubahan di atas. Periksa juga tutorial berikut juga jika Anda membutuhkan contoh lebih lanjut.
Semoga ini bisa membantu seseorang di luar sana!
Bersulang!
sumber