- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
如何发送28个字节的外设name-key广告数据并被central接收?
通常情况下,使用UUID,外设名称 key 广告数据中只有8个字符的空间。
但是有一个技巧:
我发现如果我的名字键有 28 个字符,中央广告数据是空的,但是所有 28 个字符都在中央的 didDiscoverPeripheral 的 peripherl.name 变量中出现了一次。但是下一次中央扫描相同的设备时,它得到的是“iPad”的 GATT 值(因为我的中央和外围设备在两个 iPad mini 上。)
苹果文档。说它通常发送 GATT,但我观察到它总是发送一次 28 个字符的名称。
背景:我想将标识数据放入外围设备的广告数据中,以避免读取值交换。原因是设备之间的通信交换最短,以节省时间和电池。
我试过关闭扫描然后重新打开,然后停止并重新启动广告。同样的问题。
最佳答案
不幸的是,这是行不通的。连接后,CoreBluetooth 会读取设备名称特征,稍后它将用作外围设备的名称。您设置的名称唯一会始终出现的地方是广告数据:
(lldb)po advertisementData
{
kCBAdvDataChannel = 37;
kCBAdvDataIsConnectable = 1;
kCBAdvDataLocalName = MyPeripheral;
kCBAdvDataServiceUUIDs = (
"Unknown (<e20a39f4 73f54bc4 a12f17d1 ad07a961>)"
);
}
无法以任何方式在 iOS 设备中访问设备名称特征。
关于ios - 如何通过中央 didDiscoverPeripheral 方法每次读取大量(28 个字符)蓝牙 LE 外设名称 key 广告数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17909095/
我正在尝试向当前的删除功能添加功能。我遇到的问题是,当我单击“删除”时,它会立即删除而不提示。我一直在尝试使用 this question 中的答案添加提示功能. 我的问题是哪种是实现删除功能最有效的
我正在尝试在 iMagick 中执行以下操作,但无法使其正常工作: 检查图像是否超过 390 像素高,如果是,则将其调整为 390 像素高,如果不是保持尺寸。 添加一个白色 Canvas ,宽 300
我想将我的 Logo 居中并让我的主菜单显示在 Logo 的每一侧,我不知道该怎么做,我是否必须创建两个单独的菜单来实现该布局? 非常感谢任何建议。 谢谢!
我正在使用 iosslider但似乎不能一次只在 slider 中显示一张图像。我也在尝试将显示的单个图像居中。这是我对 HTML 的看法: HTML:
我希望有一种方法可以在 Android 设备上以编程方式访问中央可信 keystore 。我知道有一个存在,至少用于验证 SSL 连接等。它还附带一个方便的工具,用于添加证书、浏览等。(在设置->位置
我对蓝牙通信还很陌生。我的第一个项目打算将数据从 iOS 设备传输到 BLEshield(小芯片)。 为了测试我的中央代码,我决定将 iPhone 设置为外围设备(一旦我拿到芯片,芯片将扮演的角色)并
在我的公司,我们使用 composer 构建我们的大部分项目,这意味着我的不同团队会从互联网上下载大量重复的包(相同版本的相同库)。 我试过Satis Composer Server,但问题是缓存不是
我有一个 iOS 应用程序,它是我控制固件的外围设备的核心。类似的 Android 应用程序运行良好,能够连接到外围设备、发现服务、明确绑定(bind)并读取加密特征。 但是,在 iOS 上,Core
我想得到这个结果( Storyboard View ): 但是当我模拟我的应用程序时,我得到了这个结果(没有任何限制) 所以我尝试添加一些约束以使 TableView 居中。但是当我添加任何约束时,T
当我调整浏览器窗口大小时,我的中心 block 一直向左移动 正常: http://imgur.com/b2AVkUx 调整浏览器窗口大小后: http://imgur.com/mJq6AuO 所以我
我们正在重新考虑我们的开发环境。目前,我们都有 Elitebook 笔记本,但速度没有我们希望的那么快。我们正在考虑将我们的开发环境虚拟化为中央 VM 服务器。 我们的开发人员在 Visual Stu
我正在尝试获取 org.jfrog.buildinfo:artifactory-maven-plugin:2.6.1,它可以在 https://jcenter.bintray.com 中找到. 但是由
我有以下 Artifactory (6.12.1) 设置 远程存储库: 中央:https://repo.maven.apache.org/maven2 jboss:https://repository
如何让绿色 div 为 width: 100% 与其他两个 div 在同一行并固定 宽度。 我的想法是让两侧的 div 有固定的宽度,而中间的 div 是 width: 100% (以剩余空间)。 是
我目前正忙于将相当旧的项目从 Ant 迁移到 Gradle。这包括用等效的 Gradle 依赖管理替换 lib 目录。 目前我在使用 Maven Central 时遇到了问题。某些依赖项(我发现至少有
来自没有 typedef 的 Java 世界,我有一个问题要问 C++ 开发人员: 我的任务是用 C++ 重写一个大型 MATLAB 项目。为了了解代码的结构,我已经开始重建模块和类结构,但没有实际实
为了轻松运行我的 web 应用程序,我决定将 Jetty 添加到我的单个 POM 文件中。 关注 official documentation ,我将此添加到我的 : org.ecli
我最终想尽可能多地解耦现有的 ASP.NET MVC 项目。 随着时间的推移,他们使用多种方法,我正在学习: 标准 MVC, Controller 操作将单独的 View 返回给浏览器。 返回 FAT
正如问题所建议的那样,我们有自己的 BLE 设备和 Android 应用程序来连接该设备。我们能够与 BLE 设备连接并成功完成所有操作。 与此同时,我们能够检测到我们的 BLE 设备与其他 3rd
在 Android 上我们有 requestMtu 和 onMtuChanged,这似乎意味着我们必须手动协商 MTU 大小,如果中央设备和外围设备都是基于 Android 的(但我可能错了,它也可能
我是一名优秀的程序员,十分优秀!