Как отключить эту ошибку проигрывателя AVFoundation «AppName [1188: 30594] [плагин] AddInstanceForFactory: завод не зарегистрирован для id » в SwiftUI?

#ios #swiftui #avfoundation #avaudioplayer #xcode11

#iOS #swiftui #avfoundation #avaudioplayer #xcode11

Вопрос:

Как отключить эту ошибку аудиоплеера AVFoundation «AppName [1188: 30594] [плагин] AddInstanceForFactory: на заводе не зарегистрирован идентификатор <CFUUID 0x6000034f1900> F8BB1C28-BAE8-11D6-9C31-00039315CD46» в SwiftUI?

Вот мой метод аудиоплеера

 import Foundation
import AVFoundation

var audioPlayer: AVAudioPlayer!

func play(soundName: String, soundType: String){

    if let path = Bundle.main.path(forResource: soundName, ofType: soundType){
    
        let url = URL(fileURLWithPath: path)
    
        do {
            audioPlayer = try AVAudioPlayer(contentsOf: url)
            audioPlayer.volume = 1.0
            audioPlayer.prepareToPlay()
        
            audioPlayer.play()
           }catch{
             print("....Couldn't find the sound....(error.localizedDescription)")
         }
    }
}


func stopPlaying(){
    audioPlayer.stop()
}
  

Он воспроизводит аудиофайл, но дважды приводил к сбою звуковой системы моего Mac во время воспроизведения звука в симуляторе, и мне пришлось перезагрузить компьютер, и все снова стало нормально. (Xcode 11.6)

ОШИБКА:

 "2020-08-19 09:56:28.261745 0600 AppName[1188:30594] [plugin] AddInstanceForFactory: No factory registered for id <CFUUID 0x6000034f1900> F8BB1C28-BAE8-11D6-9C31-00039315CD46"
  

Нужно решение для исправления этой ошибки!

Комментарии:

1. Я сталкиваюсь с этой проблемой в гораздо более простом сценарии. Mac, вызывающий Obj-C [[NSSound soundNamed:@»Purr»] play]; является ли «Purr» общедоступным системным звуком — будет воспроизводиться один раз и выдаст точно такую же строку журнала — затем не будет воспроизводиться снова. Итак, вопрос НЕ в уровне AVPlayer — он ниже. Возможно, нам следует инициализировать какую-то подсистему, или я-не-знаю-что.

2. Что я действительно имею в виду здесь, так это неправильную формулировку вопроса. Это не ошибка проигрывателя AVFoundation — она исходит из подсистемы более низкого уровня, чем AVFoundation

3. Ну и как нам его отключить?

4. Сообщение носит информационный характер и не связано со сбоем звуковой системы. Сообщение «AddInstanceForFactory: фабрика не зарегистрирована для идентификатора» появляется в приложениях, использующих AVFoundation, во время работы на симуляторе, предположительно потому, что симуляторы не были созданы на заводе. Сообщение не будет отображаться, если приложение запущено на устройстве.