【问题标题】:swift 3 read accelerometer data when app is in backgroundswift 3在应用程序处于后台时读取加速度计数据
【发布时间】:2017-10-09 23:38:26
【问题描述】:

当应用程序处于后台时,我正在尝试无限期地读取加速度计数据。默认情况下,苹果只提供 3 分钟在后台运行任何任务。

我在堆栈上阅读了很多关于此的帖子。所有人都建议使用位置、音频等背景模式或使用计时器。但与此同时,使用这些技术可能会导致应用程序被拒绝,因为它们要么在我的应用程序中直接不需要,要么是黑客攻击。

我只需要读取加速度计数据并在本地存储。有什么方法可以做到这一点而不会有应用被拒绝的风险。

【问题讨论】:

    标签: ios swift xcode swift3 core-motion


    【解决方案1】:

    在capabilites中开启定位后台模式

    请参考hannes comment!在这个How Nike+ GPS on iPhone receives accelerometer updates in the background?

    总是有被拒绝的机会,但请参考link 可能您需要提供免责声明

    【讨论】:

    • 感谢您的回复。我可以使用音频背景模式而不是位置。因为我认为使用位置需要用户许可,我不想向用户显示额外的权限弹出窗口,该功能不直接存在,只是作为其他功能的帮助者。
    • 音频在技术上可能会起作用,但只要您没有理由真正在后台播放音频,您的应用就会被拒绝。
    • @Gerriet 是的,在这种情况下,后台模式下的位置更新将是最好的选择。
    • @RohitJain 你必须在后台模式下使用位置更新,请参考我附上答案的图片
    • @AnandYadav 我尝试了您建议的解决方案。我在 locationManager.startUpdatingLocation() 之后调用 startAccelerometerUpdates。但没有获得加速度计数据
    猜你喜欢
    • 2018-03-07
    • 1970-01-01
    • 1970-01-01
    • 2014-03-23
    • 1970-01-01
    • 2017-02-04
    • 1970-01-01
    • 2017-01-09
    • 1970-01-01
    相关资源
    最近更新 更多