iOS蓝牙后台运行

作者: 干不动 | 来源:发表于2016-10-15 16:17 被阅读997次

    首先,先来大概了解下苹果的后台运行的机制:一般说来,所有程式进入背景后都还有5 秒的执行缓冲时间,有些程序可以要求延长到10 分钟(这些当然是由开发人员在设计与提交程序时决定和声明);所以,当你按下Home 键后,前台的程序就会退到后台,如果它有额外的背景执行作业,超过10 分钟还是会被iOS 中止。
    苹果公司把app划分为了三种:

    1. 保存现场。
      上述讲到的,也是我们绝大部分普通的app。

    2. iOS支持的“多任务”。
      即:按下Home键转入多任务状态,保留在内存中,但只能系统允许的动作:比如GPS,比如VoIP,比如Streaming Music等等(导航定位、网络电话、音乐播放器)。

    3. 真正的桌面级别的多任务。
      即:只有Safari/Mail才是真正的多任务,苹果嫡系大都都不是。这个级别的app在后台是没有任何限制动作。(对于无限制动作的程序,一是会在用户无察觉的情况下耗光电力,二是会有安全上面的问题)。

    废话讲完了,来重点了~
    我们蓝牙开发为了能使app在后台运行时依旧保持与外设的连接,就需要在工程目录下的 info.plist 文件中,
    iOS9及其以前的做法:新建一行 Required background modes , 加入下面两项。
    App shares data using CoreBluetooth 和 App communicates using CoreBluetooth
    iOS10的做法:直接添加 Privacy - Bluetooth Peripheral Usage Description 是否许允此App使用蓝牙?


    这里的图是iOS10的样式

    相关文章

      网友评论

        本文标题:iOS蓝牙后台运行

        本文链接:https://www.haomeiwen.com/subject/gzanyttx.html