蓝牙中央管理器初始化详解

文章目录

        • 蓝牙中央管理器初始化详解
          • 1、接口解释
          • 2、Options解释
            • 1、CBCentralManagerOptionShowPowerAlertKey
            • 2、CBCentralManagerOptionRestoreIdentifierKey
            • 3、CBCentralManagerOptionDeviceAccessForMedia

蓝牙中央管理器初始化详解
1、接口解释
/*!*  @method initWithDelegate:queue:options:**  @param delegate The delegate that will receive central role events.*  @param queue    The dispatch queue on which the events will be dispatched.*  @param options  An optional dictionary specifying options for the manager.**  @discussion     The initialization call. The events of the central role will be dispatched on the provided queue.*                  If <i>nil</i>, the main queue will be used.**    @seealso        CBCentralManagerOptionShowPowerAlertKey*    @seealso        CBCentralManagerOptionRestoreIdentifierKey**/
- (instancetype)initWithDelegate:(nullable id<CBCentralManagerDelegate>)delegatequeue:(nullable dispatch_queue_t)queueoptions:(nullable NSDictionary<NSString *, id> *)options NS_AVAILABLE(10_9, 7_0) NS_DESIGNATED_INITIALIZER;

delegate:CBCentralManager的回调代理

queue:CBCentralManager代理操作的所在队列,即delegate执行的所在队列。

options:其他选项,参考如下

2、Options解释
1、CBCentralManagerOptionShowPowerAlertKey
/*!*  **@const**  CBCentralManagerOptionShowPowerAlertKey**  **@discussion** An NSNumber (Boolean) indicating that the system should, if Bluetooth is powered off when <code>CBCentralManager</code> is instantiated, display* a warning dialog to the user.**  **@see** initWithDelegate:queue:options:**/

一个bool值,当蓝牙权限关闭的时候,如果CBCentralManager被初始化了,系统就是弹框提示用户蓝牙权限未开启

2、CBCentralManagerOptionRestoreIdentifierKey
/*!*  **@const**  CBCentralManagerOptionRestoreIdentifierKey**  **@discussion** An NSString containing a unique identifier (UID) for the <code>CBCentralManager</code> that is being instantiated. This UID is used* by the system to identify a specific <code>CBCentralManager</code> instance for restoration and, therefore, must remain the same for* subsequent application executions in order for the manager to be restored.**  **@see** initWithDelegate:queue:options:*  **@seealso** centralManager:willRestoreState:**/

一个string,当应用程序使用CBCentralManager与蓝牙设备进行通信时,如果设备支持(iOS 13及以上系统),可以在应用程序重启或系统重启后自动恢复与蓝牙设备的连接状态

3、CBCentralManagerOptionDeviceAccessForMedia
/*!*  **@const**  CBCentralManagerOptionDeviceAccessForMedia**  **@discussion** A Boolean representing the CBCentralManager init purpose is for DeviceAccess for media only. This will limit the functionality of this*  manager and only allow media device access without prompting the user for Bluetooth generic TCC.**  **@see** initWithDelegate:queue:options:**/

CBCentralManagerOptionDeviceAccessForMedia 是一个在iOS中用于蓝牙相关操作的选项,它用于请求访问设备的蓝牙硬件以及媒体输入和输出设备。

在iOS 13及更高版本中,当你使用CBCentralManager来管理蓝牙连接时,可以在初始化CBCentralManager时,通过options字典参数设置这个选项,以便让应用有权访问蓝牙硬件。

请注意,CBCentralManagerOptionDeviceAccessForMedia 是一个特定于iOS的选项,并不存在于其他操作系统上的Core Bluetooth框架中。因此,如果你在开发非iOS设备的应用,这个选项将不可用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/22912.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

做外贸你以为客户会懂,但是你还是要讲出来!

很多人都认为&#xff0c;我们公司介绍里啥都有&#xff0c;公司规模有多大&#xff0c;认证有哪些&#xff0c;产品能做什么&#xff1f;我们写在那里&#xff0c;客户就应该懂。 其实&#xff0c;不是的。 客户真的关注不了那么多&#xff0c;可能看到了&#xff0c;也就是看…

真心建议女生疯狂转行IT这5个方向

低学历女生们&#xff0c;不要再固守在文员、客服等岗位上了&#xff01;这些看似轻松却局限性强的工作已经过时了。现在是时候换个思路&#xff0c;尝试一些热门、好就业的IT职业了&#xff01; . ✅ 鸿蒙开发&#xff1a; 平均月&#x1f4b0;&#xff1a;15~30k 入门难度&am…

运维工具 - SFTP 和 FTP 的区别?

SFTP 和 FTP 的区别有三点 连接方式 SFTP 是在客户端和服务器之间通过 SSH 协议建立的安全连接来传输文件&#xff0c;而 FTP 则是 TCP 端口 21 上的控制连接建立连接。 安全性 SFTP 使用加密传输认证信息来传输数据&#xff0c;因此 SFTP 相对于 FTP 更安全的。 效率 SF…

代码杂谈 之 pyspark如何做相似度计算

在 PySpark 中&#xff0c;计算 DataFrame 两列向量的差可以通过使用 UDF&#xff08;用户自定义函数&#xff09;和 Vector 类型完成。这里有一个示例&#xff0c;展示了如何使用 PySpark 的 pyspark.ml.linalg.Vectorspyspark.sql.functions.udf 来实现这一功能&#xff1a…

Windows Linux下查看静态库,动态库各种命令的总结

Windows环境下查看库文件 静态库(.lib) 使用lib.exe查看库内容 命令示例:lib /list C.lib使用dumpbin.exe查看库的详细信息 命令示例:dumpbin /headers C.lib动态链接库(.dll) 使用dumpbin.exe查看DLL的导出信息 命令示例:dumpbin /exports B.dll

Android Studio的Gradle面板里不显示task,build ,assemble 无法出aar包

按照以下方式把对应开关打开就可以正常进行build/assemble进行aar的生成了

多级菜单的实现一

总共分享三种实现多级菜单方式&#xff0c;前面两种是裸机式的&#xff0c;第三种是带有FreeRTOS。 1、首先处在第一级菜单&#xff1a;显示 同时按下一项按钮&#xff0c;flag会变化&#xff0c;光标会根据flag的值&#xff0c;在界面上不同位置显示出光标 按下确定&#xff…

Linux系统中qfile调用seek无法更新指定位置文件内容

一、问题描述 最近在移植qt程序到银河麒麟系统中&#xff0c;发现在Windows下调用seek接口更新二进制文件功能在麒麟系统中总是无法实现更新&#xff0c;调用的QFile接口也并未报错。 原代码实现方式如下&#xff1a; if (!m_writeFile->open(QIODevice::WriteOnly | QIODe…

开源工具专题-04 Atlassian Crowd部署备份及迁移

开源工具专题-04 Atlassian Crowd部署备份及迁移 注&#xff1a; 本教程由羞涩梦整理同步发布&#xff0c;本人技术分享站点&#xff1a;blog.hukanfa.com转发本文请备注原文链接&#xff0c;本文内容整理日期&#xff1a;2024-05-29csdn 博客名称&#xff1a;五维空间-影子&…

使用libgpiod库中的事件方式监测多个输入事件

Linux下要同时检测多个GPIO输入的方法有很多&#xff0c;这里我使用libgpiod库中的API实现多个GPIO输入检测&#xff0c;可以达到类似STM32利用外部中断实现输入事件检测的效果&#xff0c;示例代码如下所示&#xff1a; /* 示例使用的libgpiod库版本为V1.2.1 */ //示例功能是…

2022.9.26DAY678

课程学习&#xff1a;《数据处理技术》讲了“数据查询”的语法格式&#xff0c;语法格式也算是简单&#xff0c;就是没能跟之前的内容联系起来&#xff0c;之前的内容没有及时回顾。 高等数学&#xff1a;“ 函数的概念”&#xff0c;讲了函数的概念&#xff0c;反函数&#…

四舍五入(基础语法)

题目描述 小梦有一套彪悍的四舍五入逻辑&#xff0c;她的身高比小熊高 厘米&#xff0c;四舍五入为 厘米&#xff0c;再四舍五入为 厘米&#xff0c;再四舍五入为 厘米&#xff0c;所以她认为自己比小熊高 厘米。这个逻辑甚至可以推广到整数&#xff0c;比如 &#xff0…

make_ext4fs:not found

报错信息&#xff1a; 解决&#xff1a; sudo apt-get install android-tools-fsutils sudo apt-get install android-sdk-libsparse-utils sudo apt-get install android-sdk-ext4-utils

跟TED演讲学英文:Let your garden grow wild by Rebecca McMackin

Let your garden grow wild Link: https://www.ted.com/talks/rebecca_mcmackin_let_your_garden_grow_wild Speaker: Rebecca McMackin Date: October 2023 文章目录 Let your garden grow wildIntroductionVocabularySummaryTranscriptAfterword Introduction Many garden…

Python中的None用法深度解析

Python中的None用法深度解析 在Python编程中&#xff0c;None是一个特殊的常量&#xff0c;它表示一个空或无值的状态。理解None的用法对于编写健壮且易于理解的代码至关重要。本文将从四个方面、五个方面、六个方面和七个方面深入剖析Python中None的用法。 四个方面&#xf…

怎么等比例缩小图片尺寸?这四种方法肯定可以帮到你!

怎么等比例缩小图片尺寸&#xff1f;在当今日常生活中&#xff0c;图片文件是我们不可或缺的一部分&#xff0c;它们以各种形式出现&#xff0c;从社交媒体上的照片到工作文档中的插图&#xff0c;然而&#xff0c;随之而来的问题是&#xff0c;有时这些图片文件的尺寸过大&…

c++模板进阶——特化

模板参数&#xff1a; 模板参数分类类型形参与非类型形参。 类型形参即&#xff1a;出现在模板参数列表中&#xff0c;跟在class或者typename之类的参数类型名称。 非类型形参&#xff1a;就是用一个常量作为类(函数)模板的一个参数&#xff0c;在类(函数)模板中可将该参数当成…

Threejs墙体挖洞做门或窗

在使用Threejs代码构建的展厅中&#xff0c;需要在一面墙中间挖个洞作为门或窗户&#xff0c;效果如下&#xff1a; 引入ThreeBSP.js <script src"plugins/three/ThreeBSP.js"></script> 创建 // 1 定义墙面var cubeGeometry new THREE.BoxGeometry(1…

今日代码大赏 | Spring Cloud Gateway 全局过滤器实现

在构建微服务架构时&#xff0c;Spring Cloud Gateway 作为服务网关&#xff0c;承担着路由转发、权限校验等职责。 全局过滤器&#xff08;Global Filter&#xff09;是 Spring Cloud Gateway 中用于处理跨服务的通用逻辑的组件&#xff0c;例如权限验证、日志记录等。 下面…

使用 LiteGraph.js 构建可视化工作流图

本文由ScriptEcho平台提供技术支持 项目地址&#xff1a;传送门 使用 LiteGraph.js 构建可视化工作流图 应用场景介绍 LiteGraph.js 是一个轻量级的开源 JavaScript 库&#xff0c;用于构建可视化工作流图。它广泛应用于游戏开发、数据可视化、交互式叙事等领域。 代码基本…