iOS应用程序在后台播放音乐时被终止

时间:2017-09-21 19:42:44

标签: ios react-native ios11

我开发了一款iOS音乐播放器,可以在后台模式下播放自己的音乐文件。该应用程序基于React Native 0.48,并使用一些第三方插件,如music controlsaudio-toolkit作为声音库。

由于我已在设备上安装了iOS 11,因此遇到以下问题:当我在后台模式播放音乐时,应用会在10-15分钟后终止,并显示以下消息:

Message from debugger: Terminated due to signal 9

这在iOS 10上没有发生,在这个较旧的iOS版本上,应用程序在后台模式下运行良好。我还设置了正确的背景模式:

enter image description here

内存和CPU使用情况看起来正常,与iOS 10相比无法找到任何特别的东西:

enter image description here enter image description here

iPhone一直有大约500 MB的可用RAM。 iOS 10和iOS 11之间是否有任何可能导致此问题的更改?

3 个答案:

答案 0 :(得分:0)

根据提供的UINT_MAX,已经提到过,在iOS上的后台播放音频目前不受此本机模块的支持。

documentation

答案 1 :(得分:0)

该问题是由后台计时器插件引起的。删除后,一切都恢复正常。我想这个插件也激活了一些后台模式,iOS因为(长时间运行)作业而杀死了应用程序。




答案 2 :(得分:0)

我从其他论坛获得了以下bugfix: https://forums.adobe.com/thread/2387025

在编译时不需要更改代码。

运行以下内容(在2.1& 2.1.4-stable分支上测试): scons p = iphone -j 4 target = release tools = no arch = arm64 bits = 64 IPHONESDK =“/ Applications / Xcode.app / Contents / Developer / Platforms / iPhoneOS.platform / Developer / SDKs / iPhoneOS11.0.sdk /”

重要的是将iPhoneSDK指向符号链接的位置。

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk/

现在,当应用程序暂停/后台运行时,它不会崩溃并按预期恢复:)