在 iPhone 重启时启动 iOS BLE Central 应用程序

2024-03-19

我计划使用 CoreBluetooth 框架开发一个 iOS 应用程序,该应用程序可以连续监控计步器外围设备并计算脚步数。

我知道,如果后台执行模式设置为 BLE Central,应用程序即使在后台也将继续接收 BLE 事件。

Apple 文档指出,如果应用程序因内存不足而终止,如果采用状态保存和恢复,系统可以跟踪特定中央管理器的 BLE 事件。

假设我有一个在中央模式下运行的 iOS 应用程序。该应用程序已订阅,以便在脚步特征发生变化时接收来自计步器的通知。

我在我的应用程序中采用了以下内容。

  • BLE中央后台模式
  • 中央管理器的 BLE 状态保存/恢复

我启动我的应用程序,扫描、配对并连接到计步器,应用程序开始接收脚步声。

我的问题:

  1. 现在,如果 iPhone 重新启动,我是否会继续接收 BLE 事件,以便我的应用程序将在后台启动,而无需用户再次手动启动应用程序并连接到计步器?

  2. 如果用户使用多任务手势明确终止应用程序,应用程序是否能够接收 BLE 事件,而无需用户再次手动启动应用程序并连接到计步器?

  3. 有没有办法在 iOS 启动时启动我的应用程序?


  1. 现在,如果 iPhone 重新启动,我是否会继续接收 BLE 事件,以便我的应用程序将在后台启动,而无需用户再次手动启动应用程序并连接到计步器?

您的应用程序不会接收 BLE 事件,因为所有应用程序在重新启动后都会以终止状态启动(尽管仍保留在应用程序切换器中)。用户必须在重新启动后至少手动启动您的应用程序一次才能使用 BLE。

  1. 如果用户使用多任务手势明确终止应用程序,应用程序是否能够接收 BLE 事件,而无需用户再次手动启动应用程序并连接到计步器?

与上面相同,应用程序已进入终止状态,因此在再次显式启动之前,它将无法使用 BLE 进行通信。

  1. 有没有办法在 iOS 启动时启动我的应用程序?

iOS 不提供任何在启动时启动应用程序的方法。

我能找到的唯一一个例外是 iBeacons。如果您的应用程序注册接收特定 iBeacon 的更新,iOS 将在找到它时启动您的应用程序(即使在重新启动后或用户明确从切换器中终止它)。当您收到 iBeacon 回调时,您可以启动所有 BLE 逻辑,然后它将照常在后台运行。当然,这意味着您需要在计步器上宣传 iBeacon,这可能可行,也可能不可行。

请记住,iBeacon 的检测非常挑剔,尤其是在重新启动后。您无法保证以多快的速度或者是否会收到 iBeacon 回调来启动您的应用程序。但这是一些东西。

Source https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/LocationAwarenessPG/RegionMonitoring/RegionMonitoring.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 iPhone 重启时启动 iOS BLE Central 应用程序 的相关文章

  • 滑动删除时,TableView 的页眉和页脚部分也会滑动

    我的 TableView 有问题 添加节页脚后 我意识到当我滑动删除时它会移动 我创建了一个仅包含此功能的最小项目来显示我面临的问题 这是我得到的结果 我有两个 TableViewCell DetailCell import UIKit c
  • 为什么 Xcode 在构建到设备时会复制未更改的资源?

    我正在处理一个相当大的 资源较多的 iOS 项目 我不禁注意到 Xcode 复制了数百个资源 纹理 精灵表 声音文件等 这些资源自上次以来根本没有改变我构建该设备的时间 当每个构建需要 2 4 分钟才能在设备上弹出时 这使得编码变得非常非常
  • 模拟器在 AQMEIOManager 上崩溃

    尝试播放音频时模拟器崩溃 13 22 14 211 App 2965 5603 lt 0xb03e7000 gt Error obj trying to fetch default input device s sample rate 13
  • 谷歌地图转弯 GPS 导航用于 ios 开发

    我的应用程序需要包含逐段 GPS 导航 任何人都可以告诉如何集成谷歌地图进行逐段 GPS 导航 我可以在android开发中找到它 但我无法从谷歌地图的iOS开发文档中找到导航 https developers google com map
  • 如何在 Instagram 等应用中使用“@”提及用户

    我正在创建一个具有照片共享功能的应用程序 并且我正在尝试添加提及 或标记 用户的功能 Twitter 最初开始使用 和用户名来标记用户 但现在从 Facebook 到 Instagram 都在使用它 这是iOS端实现的还是后端实现的 我目前
  • iOS 信号处理程序可以轻松收集哪些原因信息?

    我正在尝试向应用程序添加一些崩溃日志记录 并且我有一个signal设置处理程序以捕获标准 致命 信号 我可以在信号处理程序中实际 简单地收集哪些 原因 信息 如果有 以进行记录 我花了大约 2 小时谷歌搜索内容 但我找到的大部分内容都是针对
  • 如果您要使用的库尚不支持 Carthage 该怎么办

    我正在评估 Carthage 是否适合我的项目 我想找到答案的问题之一是当我想要使用的库 框架不支持 Carthage 时该怎么办然而 你们中有人曾经遇到过这个问题并找到了解决方案吗 Thanks 迦太基需要的主要东西是一个框架 并且该框架
  • CoreData 多对多添加错误

    不确定我在这里做错了什么 School has a to many to Student and Student has its inverse 一点测试代码如下 class Student interface School NSManag
  • iOS 7 中强制横向 ViewController

    我有十多个处于纵向模式的 ViewController 但无论设备的方向如何 我都需要强制一个处于横向模式 这是解决方案 1 将 LandscapeViewController 嵌入到子类 NavigationController 中 并使
  • 如何在 Objective-C 中删除浮点上的尾随零而不进行四舍五入?

    我需要清除浮点数上的尾随零而不进行四舍五入 我只需要显示相关的小数位 例如 如果我有 0 5 我需要它显示 0 5 而不是 0 500000 如果我有 2 58328 我想显示 2 58328 如果我有 3 我想显示 3 而不是 3 000
  • iOS 相机视频实时预览与拍摄的照片有偏移

    我正在使用相机工作 相机以实时反馈的形式呈现给用户 当用户单击时 就会创建图像并将其传递给用户 问题是图像被设计为位于最顶部位置 该位置高于实时预览显示的位置 您知道如何调整相机的框架 使实时视频的顶部与他们要拍摄的照片的顶部相匹配吗 我以
  • 如何在iPhone应用程序中每天的特定时间调用一个方法?

    我想在我的 iPhone 应用程序中每天的特定时间调用一个方法 我怎样才能实现这个目标 使用 iPhone SDK 和封闭的应用程序并不能做很多事情 您可以让它在特定时间发送本地推送通知 但在用户手动打开您的应用程序之前不会执行您的代码 请
  • 输入文本时 UITextField 的奇怪行为

    想要在以下位置搜索此问题Google但不知道我需要写什么才能找到确切的原因所以我在这里 ISSUE Create UITextField using Interface Builder并运行项目 当我使用输入任何值时iOS Keyboard
  • 如何在使用图像创建视频时添加图像变化动画

    我有一组图像 我想通过按顺序播放这些图像来创建视频 我想在图像发生变化时添加不同类型的动画 建议我一些方法或任何解决方案来通过 Cocoa 框架在 Objective C 中实现此功能 这是制作图像视频的工作代码 但请建议我们在制作视频时如
  • 尝试结合 2 个 Audiokit 示例:麦克风分析和录音机:当我点击录音时崩溃

    我正在尝试将麦克风分析和录音机示例结合起来 它总是在线路上崩溃try recorder record 2018 01 08 21 21 48 507019 0800 音乐练习 90266 18761122 avae AVAEInternal
  • UIButton 的图像随滚动视图滚动,但其操作/方法仍保留在原始位置

    我有一个自动滚动的 UIScrollView 我使用 initWithFrame 创建了几个按钮 每个按钮都有一个图像和一个独特的操作 方法 并将它们全部添加到滚动视图中 按钮的图像可以随着滚动视图自动滚动 但是当我单击每个按钮时 这不是我
  • 我应该如何创建模型类来调用API(使用MVC模式)?

    目前我正在调用一个APIviewcontroller但这本身并不是 MVC 的良好编程实践 这是我的代码 void fetchData NSMutableURLRequest request NSMutableURLRequest allo
  • 具有现有仿射变换的 UIKit Dynamics

    我的观点有一些尺度上的转变 当我在其上应用一些 UIKit Dynamics 时 它会将它们归零 如何在视图上保留现有的转换 同时使其跳转 P 谢谢 看看 UIDynamicAnimator 的updateItemUsingCurrentS
  • Cordova/Phonegap 通过 JavaScript 在应用程序浏览器中打印

    我想从我正在开发的 iPad 应用程序打印一页 或某些页面 应用程序启动时所做的第一件事是通过以下代码加载外部网站 window location https 我现在想从这个外部网站打印一些东西 在 iPad 上的 Safari 中效果很好
  • “没有 firebaseUI 这样的模块”

    import FirebaseUI 当我导入此模块时 它显示 No such Module as FirebaseUI 但我已经安装了 pod pod Firebase Core pod FirebaseUI pod FirebaseUI

随机推荐