Приложение Swift 5 Closing на фоне: выпуск аудиопотока - PullRequest
1 голос
/ 25 сентября 2019

Я застрял при воспроизведении звука в фоновом режиме с помощью Swift 5 и Xcode 11.

Включение фонового режима и запуск AVAudioSession больше не работают, и приложение продолжает закрываться через несколько секунд после выхода из приложения.

Сначала я получаю потепление прав, но поток начинается:

Error acquiring assertion: <NSError: 0x2829830f0; domain: RBSAssertionErrorDomain; code: 2; reason: "Required client entitlement is missing"> {
userInfo = {
    RBSAssertionAttribute = <RBSLegacyAttribute: 0x1050a9040; requestedReason: MediaPlayback; reason: MediaPlayback; flags: PreventTaskSuspend | PreventTaskThrottleDown | WantsForegroundResourcePriority>;
}

Когда через несколько секунд на фоне он закрывается:

[ProcessSuspension] Background task expired while holding WebKit ProcessAssertion (isMainThread? 1).

Если я продолжаюв любом случае приложение, открывающее аудио, останавливается:

[ProcessSuspension] 0x10dfc8848 - ProcessAssertion::processAssertionWasInvalidated()

Apple любит менять это каждый год.Кто-нибудь до сих пор работал с iOS 13 и Xcode 11 / Swift 5?

Спасибо!

1 Ответ

1 голос
/ 25 сентября 2019

добавляете ли вы код для возобновления воспроизведения звука в своем приложении Applelegate

func applicationDidEnterBackground(_ application: UIApplication) {


    do {
        try AVAudioSession.sharedInstance().setCategory(.playback, mode: .default, options: [.mixWithOthers, .allowAirPlay])
        try AVAudioSession.sharedInstance().setActive(true)
    } catch {
        print(error)
    }

}

Кроме того, добавляйте звук, трансляцию и изображение в картинке из ваших целевых возможностей

...