这个问题是由于iOS 7以后引入了后台限制,导致应用程序在进入后台后只能进行有限的操作。为了解决这个问题,您可以使用以下方法:
func applicationDidEnterBackground(_ application: UIApplication) { if audioRecorder.isRecording { audioRecorder.stop() recordingStoppedTime = Date() } }
func applicationWillEnterForeground(_ application: UIApplication) { let elapsedTime = Date().timeIntervalSince(recordingStoppedTime) if elapsedTime > allowedTime && audioRecorder.isRecording { audioRecorder.stop() } }
这样,您就可以在后台记录多个音频文件,而不会超过iOS操作系统设置的后台运行时间限制。