iOS 13.1 AVAudio 播放器崩溃
iOS 13.1 Crash in AVAudio Player
我的应用程序在 iOS 13.1 上崩溃,当我跟踪一个问题然后发现应用程序崩溃是因为 AVAudioPlayer
。
下面是我的播放器设置。
if let wrongURL = Bundle.main.url(forResource: "wrongAudio", withExtension: "mp3")
{
do {
wrongMusicPlayer = try AVAudioPlayer(contentsOf: wrongURL)
wrongMusicPlayer.prepareToPlay()
}
catch
{
print(error.localizedDescription)
}
}
此处找到的所有内容均正确,但当 AVAudioPlayer
尝试使用 URL
初始化时崩溃。
我在 AVAudioPlayer
和 iOS 13.1.
中发现了崩溃问题
这是解决方案
为什么我的 AVAudioPlayer
崩溃了?因为
我初始化 AVAudioPlayer
就像
var wrongMusicPlayer: AVAudioPlayer = AVAudioPlayer()
然后我尝试重新分配 wrongMusicPlayer
如下
wrongMusicPlayer = try AVAudioPlayer(contentsOf: wrongURL)
我的应用崩溃了。
解决方案
如果您以任何方式初始化您的 AVAudioPlayer
,如 var wrongMusicPlayer: AVAudioPlayer = AVAudioPlayer()
或 wrongMusicPlayer = AVAudioPlayer()
,请将其删除,然后像 var wrongMusicPlayer: AVAudioPlayer!
.
一样声明
Objective C 代码也会出现同样的问题。
之前musicPlayer = [[AVAudioPlayer alloc] init];
会工作,但现在会导致 iOS13 崩溃。当使用其他初始化方法之一(如 initWithContentsOfURL)时,稍后会发生崩溃。
删除 [[AVAudioPlayer alloc] init] 解决了这个问题。
谢谢,拉凯什!
太奇妙了!
我的游戏在 iPhone 和 iOS 13.1.2 上中断。但在模拟器中它的工作。在物理设备上 - 不!
我看了很多论坛、在线书籍、文档等
这个小修复确实帮助了我:
我将 var player = AVAudioPlayer()
更改为 var player: AVAudioPlayer!
p.s。伙计们写了关于线程的问题,但这种情况更简单
iOS 今天发布的 13.2 修复了这个问题。
我的应用程序在 iOS 13.1 上崩溃,当我跟踪一个问题然后发现应用程序崩溃是因为 AVAudioPlayer
。
下面是我的播放器设置。
if let wrongURL = Bundle.main.url(forResource: "wrongAudio", withExtension: "mp3")
{
do {
wrongMusicPlayer = try AVAudioPlayer(contentsOf: wrongURL)
wrongMusicPlayer.prepareToPlay()
}
catch
{
print(error.localizedDescription)
}
}
此处找到的所有内容均正确,但当 AVAudioPlayer
尝试使用 URL
初始化时崩溃。
我在 AVAudioPlayer
和 iOS 13.1.
这是解决方案
为什么我的 AVAudioPlayer
崩溃了?因为
我初始化 AVAudioPlayer
就像
var wrongMusicPlayer: AVAudioPlayer = AVAudioPlayer()
然后我尝试重新分配 wrongMusicPlayer
如下
wrongMusicPlayer = try AVAudioPlayer(contentsOf: wrongURL)
我的应用崩溃了。
解决方案
如果您以任何方式初始化您的 AVAudioPlayer
,如 var wrongMusicPlayer: AVAudioPlayer = AVAudioPlayer()
或 wrongMusicPlayer = AVAudioPlayer()
,请将其删除,然后像 var wrongMusicPlayer: AVAudioPlayer!
.
Objective C 代码也会出现同样的问题。
之前musicPlayer = [[AVAudioPlayer alloc] init]; 会工作,但现在会导致 iOS13 崩溃。当使用其他初始化方法之一(如 initWithContentsOfURL)时,稍后会发生崩溃。
删除 [[AVAudioPlayer alloc] init] 解决了这个问题。
谢谢,拉凯什! 太奇妙了! 我的游戏在 iPhone 和 iOS 13.1.2 上中断。但在模拟器中它的工作。在物理设备上 - 不! 我看了很多论坛、在线书籍、文档等
这个小修复确实帮助了我:
我将 var player = AVAudioPlayer()
更改为 var player: AVAudioPlayer!
p.s。伙计们写了关于线程的问题,但这种情况更简单
iOS 今天发布的 13.2 修复了这个问题。