我的应用程序仅在后台运行 ios 10

Posted

技术标签:

【中文标题】我的应用程序仅在后台运行 ios 10【英文标题】:My app only work in background ios 10 【发布时间】:2016-11-29 06:35:25 【问题描述】:

我有 ios 应用程序(phonegap),我的应用程序的想法是检测是否有 headrt,录制和播放音频,我的应用程序的问题它只能在后台工作。

当我在前台点击录制按钮时,它没有做任何事情,但是当我按下主页按钮并进入后台时,一切正常。

我还放了测试按钮,当我点击它时,它应该用消息提醒你,只有当我按下主页按钮然后回到前台时才会出现消息。

请注意它在 ios 9 中完美运行

但在 ios 10 中不起作用

总结: 该应用程序仅在其在后台运行,但在前台无法运行时,。

【问题讨论】:

恐怕这对任何人来说都太模糊了,无法提供有用的答案。你做过调试吗?当您按下按钮并且它不起作用时会发生什么?您是否尝试过记录应用何时开始和停止录制? 它不响应前台的按钮。当我按下主页按钮时它会响应 您是否进行过调试,看看究竟是按钮没有响应,还是按钮背后的代码出错了? 【参考方案1】:

由于 iOS 10 UIWebView 中 Content-Security-Policy 元标记的行为发生了变化,您的应用会出现这样的行为。副作用之一是在应用程序进入后台(即按下“主页”按钮)之前不会执行插件调用。

您可以通过更新Content-Security-Policy 元标记以添加gap:// 协议来解决此问题 - 有关详细信息,请参阅my answer to this question。

【讨论】:

需要更多点赞,我搜索了将近 2 个小时,这个 gap:// 解决了我在 ios 上社交分享速度慢的问题。

以上是关于我的应用程序仅在后台运行 ios 10的主要内容,如果未能解决你的问题,请参考以下文章

Flutter 推送通知仅在应用程序处于后台时有效

iOS UILocalNotification 仅在应用未运行时发出声音(无警报)

AppDelegate 代码仅在后台运行

仅在前台应用:如何避免“未声明后台位置访问”

GCM BroadcastReceiver 仅在应用程序正在运行或在后台运行时触发

为啥我的 iOS 应用程序仅在首次运行时正确检测到当前语言?